Work in progress
Proof of concept code can be downloaded at http://shres.in/evo-swig.tar.gz)-- http://code.google.com/p/eds-swig/. You will need evolution data server and ruby development files/packages. You will need the evolution data server developer packages. the ruby developer packages and SWIG 1.3.24 or above. Then download and untar the file to some directory, open a command line in that directory and follow this steps: If you are lucky and it compiled well (it will show a couple of warnings but it should compile and link) you can try to install it and run the tests: Test by invoking irb: This ought to dump all your calendars in ical form. A more involved example is detailed in Evolution/SWIGCalendarShare. A brief tutorial can be found in Evolution/SWIGForEDSTutorial Some notes: <s> The code is in a mercurial repository (included in the tar file) </s> [*] Irb may misbehave on MacOS X if we pass command line parameters. It is much better to first fire irb and then type require 'evolution' to load the evolution module. --Evolution/Vicent SeguA $ cd evo-swig
$ sh gen_evo_ruby.sh
$ cd ruby
$ ruby extconf && make
$ sudo make install
$ cd tests
$ ruby run_tests.rb
$ irb
irb(main):001:0> require 'evolution'
=> true
irb(main):002:0> Evolution.get_esource_groups.each{ |group|
irb(main):003:1* group.each { |source|
irb(main):004:2* puts "------------------------------------------"
irb(main):005:2> puts "Calendar: #{source.name}"
irb(main):006:2> puts "------------------------------------------"
irb(main):007:2> cal=Evolution::ECal.new(source)
irb(main):008:2> puts cal
irb(main):009:2> }
irb(main):010:1> }