Skip to content

Instantly share code, notes, and snippets.

@retorquere
Created April 8, 2011 13:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save retorquere/909840 to your computer and use it in GitHub Desktop.
Save retorquere/909840 to your computer and use it in GitHub Desktop.
require 'rubygems'
require 'viewpoint'
require 'date'
require "benchmark"
Viewpoint::EWS::EWS.endpoint = url
Viewpoint::EWS::EWS.set_auth('hnse', ARGV[0])
ews = Viewpoint::EWS::EWS.instance
calendar = Viewpoint::EWS::CalendarFolder.get_folder(:calendar)
tagspace = 'TagSpace'
mark = 'mark'
today = "#{Date.today}"
events = 0
time = Benchmark.realtime do
1.times do
0.upto(0) do |hour|
starts = DateTime.parse("#{today}T1#{hour}:00:00+02:00").to_s
ends = DateTime.parse("#{today}T1#{hour+1}:00:00+02:00").to_s
item = {
:subject => {:text => "TestRooster #{starts}"},
:start => {:text => starts},
:end => {:text => ends},
:meeting_time_zone => {:base_offset => {:text => 'PT1H'}},
}
event = Viewpoint::EWS::CalendarItem.create_item_from_hash(item)
event.set_tags!([mark, 'some-uid'], :tagspace => tagspace)
events += 1
end
end
end
puts "#{events} events in #{time} seconds"
rooster = calendar.find_items_with_tag mark, :tagspace => tagspace
rooster = [rooster] unless rooster.is_a? Array
time = Benchmark.realtime do
rooster.each do |event|
puts event.subject
puts event.tags.inspect
end
end
puts "Time elapsed #{time} seconds"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment