Showing posts with label release. Show all posts
Showing posts with label release. Show all posts

Sunday, July 22, 2007

Twitter4R v0.2.3 Released

As promised earlier this week Twitter4R v0.2.3 made it out this weekend.

Twitter4R v0.2.3 has just been uploaded to Rubyforge in Ruby Gem, tgz and zip formats. It may take up to several hours for the Rubyforge download mirrors to sync, so you may not be able to download it for a while.

To upgrade/install using Ruby Gems:
$ sudo gem install twitter4r

I am in the process of updating the project website. So bear with me while I take care of this.

Release Notes:
  • Fixed defect #31 such that passing string screen name as for user argument is handled correctly.
  • Fixed #30 typo: respond_to -> respond_to?
  • Added relevant exception handling for #message(:post, ...) case #32
  • Add ability to pass in Twitter::User object to Twitter::Client#user(...) #33
  • Added stats Rake task
  • Updated RDoc for Twitter::Client#user to warn against using it to get followers of authenticated user and updated ArgumentError raising logic as per #29.

Enjoy!

Wednesday, July 18, 2007

Twitter4R v0.2.2 Released

As solo already noted in the comments for the Twitter4R v0.2.1 Released blog entry from yesterday, version 0.2.2 is already here:)

I usually wait 4 hours before I blog about it to let the Rubyforge gem servers sync.

Changes in the version 0.2.2 release include:
  • Fixed URI paths for user, messaging and friendship APIs (#25)
  • Added action checks for Twitter::Client methods: #user, #my, #message, #messages, #status, #timeline, #friend (#26)
  • Added 'source' configuration documentation.
  • Added missing attributes for Twitter::User (#28)


The most notable thing is that I add the protected and profile_image_url attributes to the Twitter::User model class, which were missing previously.

Tuesday, July 17, 2007

Twitter4R v0.2.1 Released

To install/update Ruby gem use:
sudo gem install twitter4r
OR
sudo gem update twitter4r
Note: It may take some hours before the Rubyforge mirrors are in sync.

The ‘source’ feature was added to Twitter v0.2.1 such that in the web interface Twitter users can see which application the messages were sent from. The default is ‘twitter4r’ with link ‘http://twitter4r.rubyforge.org’. You can change this, but you will also need to contact Twitter developers (not Twitter4R) to set it up for you on the server side. To set relevant client configuration in Twitter4R you can do the following:

require('rubygems')
gem('twitter4r', '>=0.2.1')
require('twitter')

Twitter::Client.configure do |conf|
conf.source = 'mysourceidfromtwitter'
end

Remember you will need to contact the Twitter developers to setup a source id and url with them before the above code snippet will start working.

Enjoy!

Sunday, July 08, 2007

Twitter4R 0.2.0 Release

It's been almost two weeks, but Twitter4R had some major refactoring and updating between 0.1.1 and 0.2.0. So I hope you will think the wait was worth it. As usual you can grab the latest Ruby Gem (once all Rubyforge mirrors have synced) with: sudo gem install twitter4r.

I am still in the process of pushing out the new Ruby Gem to Rubyforge and updating the website for the project, but the release is code complete.

Some changes are quite significant in some areas. The basic idea of this release (0.2.0) was to cover the official published Twitter REST API 100% and remove some of the clutter the first two releases of Twitter4R introduced partly due to mirroring Twitter's inconsistent API. In the same fashion as both previous releases of Twitter4R, version 0.2.0 has 100% C0 code coverage via RSpec specifications.

I separated out Twitter4R library into various API segments:


I will write a blog entry as an introduction to each segment over the next couple of days. In the meantime I will finish publishing the new website documentation and leave you with the RDoc for version 0.2.0.

Updates:

Monday, June 25, 2007

Twitter4R 0.1.1 Released

Twitter4R, the open source Ruby project for the Twitter REST API, version 0.1.1 has been released this afternoon as a Ruby Gem. It may take a little time for the new Gem to appear on the Rubyforge gem servers, but once replicated to all mirrors you should be able to do the following:

require 'rubygems'
gem 'twitter4r', '0.1.1'
require 'twitter'

client = Twitter::Client.new(:login => 'mylogin', :password => 'mypassword')
timeline = client.public_timeline
timeline.each do |status|
puts "#{status.user.screen_name}: #{status.message}"
end


This will get you started. Changes from 0.1.0 to 0.1.1 include:
  1. Addition of proxy support
  2. Addition of SSL support
  3. Migration from RSpec 0.8.2 to 1.0.x specifications

For proxy support you can do the following:

require 'rubygems'
gem 'twitter4r', '0.1.1'
require 'twitter'

Twitter::Client.config(:proxy_host => 'myproxy.host', :proxy_port => 8080)
# continue using Twitter4R API as above.

Or if you have a proxy server that requires authentication, you can do the following:

Twitter::Client.config(:proxy_host => 'myproxy.host', :proxy_port => 8080, :proxy_user => 'myproxyuser', :proxy_pass => 'myproxypass')
# continue using Twitter4R API as above.


To force Twitter4R to use SSL, we would write the following configuration code before using the client API:

Twitter::Client.config(:ssl => true, :port => 443)


Enjoy!

Saturday, May 19, 2007

RSpec 1.0.0 Finally Here!

Thanks to the RSpec team for finally delivering RSpec, which I have been excited about for quite some time.

Having about 5 projects (2 pure Ruby, 3 Rails) using RSpec 0.8.2 and 2 other projects still on (0.7.5) I was a little worried about migrating to the new RSpec 1.0.0 compliant API, which is a fair bit different than some of what was allowed in 0.8.2 and prior.

However, the RSpec developers in all their wisdom foresaw this problem and wrote spec_translate where you simply give it the from directory and to directory in that order on the command line. Now it doesn't do everything, so don't expect too much, but it will convert all the context, setup, specify and teardown blocks to describe, before, it and after blocks respectively with very little fanfare or effort required from us.

The gotchas for those of us that ignored the Test::Unit Cheat Sheet on the website for recommended RSpec usage (I am going to own up to it, yes):
  1. .should.eql expected_value becomes .should eql(expected_value)
  2. .should.not... becomes .should not...
  3. .should.be expected_result becomes .should be(expected_result)

Let me know if you find different varieties of the above API differences.