Revolution 0.1
Posted on: 03/23/2005 09:17 AM

v0.1 of Revolution, a Ruby binding to Evolution, has been released.

So now you can write simple little Ruby scripts to mine the data store for information, for example:

require 'revolution'

r =

r.get_all_contacts.each {|c|
puts "First name: #{c.first_name}"
puts "Last name: #{c.last_name}"
puts "Work email: #{c.work_email}" if !c.work_email.nil?

last_week =*24*60*60)
next_week =*24*60*60)
r.get_all_appointments(last_week, next_week).each {|appt|
puts "Summary: #{appt.summary}"
puts "Location: #{appt.location}"
puts "Start time: #{appt.start}"

r.get_all_tasks.each {|t|
puts "Task (#{t.uid})"
puts "Summary: #{t.summary}"
puts "Description: #{t.description.slice(0,70)}"
puts "Start date: #{t.start}"

If you have RubyGems installed, you can install the Gem using "gem install --remote revolution", or you can download a zip file here:

and more documentation is available here:

Thanks to InfoEther ( for sponsoring development of this library

Printed from Linux Compatible (