RubyGems 1.3.5
Eric Hodel | Wed, 22 Jul 2009 00:37:47 GMT
RubyGems is a package management framework for Ruby.
See Gem for information on RubyGems (or `ri Gem`)
To upgrade to the latest RubyGems, run:
$ gem update --system # you might need to be an administrator or root
NOTE: RubyGems 1.1 and 1.2 have problems upgrading when there is no rubygems-update installed. You will need to use the following instructions if you see “Nothing to update”.
If you have an older version of RubyGems installed, then you can still do it in two steps:
$ gem install rubygems-update # again, might need to be admin/root $ update_rubygems # ... here too
If you don’t have any RubyGems install, there is still the pre-gem approach to getting software, doing it manually:
- Download from: <a href=”http://rubyforge.org/frs/?group_id=126”>rubyforge.org/frs/?group_id=126
- Unpack into a directory and cd there
- Install with: ruby setup.rb # you may need admin/root privilege
For more details and other options, see:
ruby setup.rb --help
Changes
Bug fixes:
- Fix use of prerelease gems.
- Gem.bin_path no longer escapes path with spaces. Bug #25935 and #26458.
Deprecation Notices:
- Bulk index update is no longer supported (the code currently remains, but not the tests)
- Gem::manage_gems was removed in 1.3.3.
- Time::today was removed in 1.3.3.
rc-rest 3.0.0
Eric Hodel | Fri, 10 Jul 2009 21:31:00 GMT
Robot Co-op REST web services base class. This library makes it easy to implement REST-like web services APIs.
Changes
- Upgrade to Nokogiri from REXML. This is incompatible with 2.x and older. Thanks Aaron Patterson!
smtp_tls 1.0.3
Eric Hodel | Wed, 08 Jul 2009 23:18:00 GMT
Provides SMTP STARTTLS support for Ruby 1.8.6 (built-in for 1.8.7+). Simply require ‘smtp_tls’ and use the Net::SMTP#enable_starttls method to talk to servers that use STARTTLS.
require 'net/smtp'
begin
require 'smtp_tls'
rescue LoadError
end
smtp = Net::SMTP.new address, port
smtp.enable_starttls
smtp.start Socket.gethostname, user, password, authentication do |server|
server.send_message message, from, to
end
You can also test your SMTP connection settings using mail_smtp_tls:
$ date | mail_smtp_tls smtp.example.com submission \
"your username" "your password" plain \
from@example.com to@example.com
Using SMTP_TLS 1.0.3
-> "220 smtp.example.com ESMTP XXX\r\n"
<- "EHLO you.example.com\r\n"
-> "250-smtp.example.com at your service, [192.0.2.1]\r\n"
-> "250-SIZE 35651584\r\n"
-> "250-8BITMIME\r\n"
-> "250-STARTTLS\r\n"
-> "250-ENHANCEDSTATUSCODES\r\n"
-> "250 PIPELINING\r\n"
<- "STARTTLS\r\n"
-> "220 2.0.0 Ready to start TLS\r\n"
TLS connection started
<- "EHLO you.example.com\r\n"
-> "250-smtp.example.com at your service, [192.0.2.1]\r\n"
-> "250-SIZE 35651584\r\n"
-> "250-8BITMIME\r\n"
-> "250-AUTH LOGIN PLAIN\r\n"
-> "250-ENHANCEDSTATUSCODES\r\n"
-> "250 PIPELINING\r\n"
<- "AUTH PLAIN BASE64_STUFF_HERE\r\n"
-> "235 2.7.0 Accepted\r\n"
<- "MAIL FROM:<from@example.com>\r\n"
-> "250 2.1.0 OK XXX\r\n"
<- "RCPT TO:<to@example.com>\r\n"
-> "250 2.1.5 OK XXX\r\n"
<- "DATA\r\n"
-> "354 Go ahead XXX\r\n"
writing message from String
wrote 91 bytes
-> "250 2.0.0 OK 1247028988 XXX\r\n"
<- "QUIT\r\n"
-> "221 2.0.0 closing connection XXX\r\n"
This will connect to smtp.example.com using the submission port (port 587) with a username and password of “your username” and “your password” and authenticate using plain-text auth (the submission port always uses SSL) then send the current date to to@example.com from from@example.com.
Debug output from the connection will be printed on stderr.
Changes:
- 1 minor enhancement
- Added mail_smtp_tls executable to test SMTP connections
- 2 bug fixes
- Suppress default DH parameters warning
- Pass debug output down to child IOs
imap_processor 1.2
Eric Hodel | Wed, 08 Jul 2009 01:17:00 GMT
imap_processor version 1.2 has been released!
IMAPProcessor is a client for processing messages on an IMAP server. It provides some basic mechanisms for connecting to an IMAP server, determining capabilities and handling messages.
IMAPProcessor ships with the executables imap_keywords which can query an IMAP server for keywords set on messages in mailboxes, imap_idle which can show new messages in a mailbox and imap_archive which will archive old messages to a new mailbox.
Changes:
- 2 major enhancements
- imap_archive which archives old mail to dated mailboxes
- imap_idle which lists messages that were added or expunged from a mailbox
- 4 minor enhancements
- Added IMAPProcessor#create_mailbox
- Added IMAPProcessor#delete_messages
- Added IMAPProcessor#move_messages
- Disabled verification of SSL certs for 1.9
- 1 bug fix
- Fixed options file names, they should be Symbol keys
ar_mailer 1.4.0
Eric Hodel | Wed, 24 Jun 2009 22:53:06 GMT
ar_mailer is a two-phase delivery agent for ActionMailer. Even delivering email to the local machine may take too long when you have to send hundreds of messages. ar_mailer allows you to store messages into the database for later delivery by a separate process, ar_sendmail.
Changes:
- 1.8.7 and 1.9 STARTTLS compatibility, now uses smtp_tls gem for STARTTLS on 1.8.6
- Fix 1.9 warnings
production_log_analyzer 1.5.1
Eric Hodel | Wed, 24 Jun 2009 03:44:37 GMT
production_log_analyzer version 1.5.1 has been released!
- <a href=”http://seattlerb.rubyforge.org/production_log_analyzer”>Documentation
- <a href=”http://rubyforge.org/projects/seattlerb”>Project page
- <a href=”http://rubyforge.org/tracker/?func=add&group_id=1513&atid=5921”>Bug reports
production_log_analyzer lets you find out which actions on a Rails site are slowing you down.
Changes:
- 1.9 and 1.8.7 compatibility.
Converting from REXML to Nokogiri
Eric Hodel | Thu, 18 Jun 2009 01:02:02 GMT
Nokogiri is pretty darn cool, certainly far cooler than REXML. I switched UPnP to Nokogiri, and here’s a handy guide.
require 'rexml/document'
Becomes
require 'nokogiri'
REXML::Document.new
Becomes
Nokogiri::XML
Both accept String or IO objects
my_element.element['element/path']
Becomes
my_element.at 'element > path'
You can use CSS in #at
my_element.each_element 'element/path' do |sub_element|
Becomes
my_element.xpath('./xmlns:element/xmlns:path').each do |sub_element|
”.” is used to select sub-elements of this one
See also Nokogiri’s Node documentation.
UPnP 1.2.0
Eric Hodel | Wed, 17 Jun 2009 00:06:07 GMT
An implementation of the UPnP protocol
Changes
- 2 minor enhancements
- Workaround for missing socket constants on Windows. Reported by Yuri.
- upnp_discover now shows action argument and return value names.
- 4 bug fixes
- Method name must not include entire URI. Reported by Ian Macdonald.
- Step in allowedValueRange is optional. Reported by Ian Macdonald.
- upnp_listen works with all notification types. Reported by Ian Macdonald.
- upnp_discover now warns when a device failed to instantiate. Reported by Ian Macdonald.
RubyGems 1.3.4
Eric Hodel | Sat, 30 May 2009 14:20:00 GMT
NOTE: RubyGems 1.1 and 1.2 have problems upgrading when there is no rubygems-update installed. You will need to follow the second set of update instructions if you see “Nothing to update”.
Release 1.3.4 fixes some bugs and adds some features.
Bug Fixes:
- Fixed various warnings
- Gem::ruby_version works correctly for 1.8 branch and trunk
- Prerelease gems now show up in `gem list` and can be used
- Fixed option name for `gem setup --format-executable`
- RubyGems now matches Ruby > 1.9.1 gem paths
- Gem::RemoteFetcher#download now works for explicit Windows paths across drives. Bug #25882 by Lars Christensen
- Fix typo in Gem::Requirement#parse. Bug #26000 by Mike Gunderloy.
Deprecation Notices:
- Bulk index update is no longer supported (the code currently remains, but not the tests)
- Gem::manage_gems was removed in 1.3.3.
- Time::today was removed in 1.3.3.
For a full list of changes to RubyGems and the contributor for each change, see the ChangeLog file.
How can I get RubyGems?
NOTE: If you have installed RubyGems using a package system you may want to install a new RubyGems through the same packaging system.
If you have a recent version of RubyGems (0.8.5 or later), then all you need to do is:
$ gem update --system (you might need to be admin/root)
NOTE: RubyGems 1.1 and 1.2 have problems upgrading when there is no rubygems-update installed. You will need to follow the second set of update instructions if you see “Nothing to update”.
NOTE: You may have to run the command twice if you have any previosly installed rubygems-update gems.
If you have an older version of RubyGems installed, then you can still do it in two steps:
$ gem install rubygems-update (again, might need to be admin/root) $ update_rubygems (... here too)
If you don’t have any gems install, there is still the pre-gem approach to getting software … doing it manually:
- DOWNLOAD FROM: rubyforge.org/frs/?group_id=126
- UNPACK INTO A DIRECTORY AND CD THERE
- INSTALL WITH: ruby setup.rb (you may need admin/root privilege)
To File Bugs
The RubyGems bug tracker can be found on RubyForge at: rubyforge.org/tracker/?func=add&group_id=126&atid=575
When filing a bug, `gem env` output will be helpful in diagnosing the issue.
If you find a bug where RubyGems crashes, please provide debug output. You can do that with `gem —debug the_command`.
Thanks
Keep those gems coming!
— The RubyGems team
orca_card 1.0
Eric Hodel | Tue, 19 May 2009 18:54:33 GMT
orca_card version 1.0 has been released!
Dumps information about your ORCA card. ORCA cards are Western Washington’s all-in-one transit smart card that allow travel via bus, train and ferry throughout King, Kitsap, Snohomish and Pierce counties.
NOTE: This is a cheap hack, patches wanted

Articles