GNOME 3589 Published by

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 = Revolution::Revolution.new

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 = Time.new.to_i-(7*24*60*60)
next_week = Time.new.to_i+(7*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:

http://rubyforge.org/frs/?group_id=576

and more documentation is available here:

http://revolution.rubyforge.org/

Thanks to InfoEther (http://infoether.com/) for sponsoring development of this library