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=576and more documentation is available here:
http://revolution.rubyforge.org/Thanks to InfoEther (http://infoether.com/) for sponsoring development of this library