-
Notifications
You must be signed in to change notification settings - Fork 133
/
spec_helper.rb
50 lines (41 loc) · 1.47 KB
/
spec_helper.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#- ©2009 Rick DeNatale, All rights reserved. Refer to the file README.txt for the license
require File.expand_path(File.join(File.dirname(__FILE__), %w[.. lib ri_cal]))
require 'cgi'
require 'tzinfo'
module Kernel
if ENV.keys.find {|env_var| env_var.match(/^TM_/)}
def rputs(*args)
puts( *["<pre>", args.collect {|a| CGI.escapeHTML(a.to_s)}, "</pre>"])
end
else
alias_method :rputs, :puts
end
end
def date_time_with_zone(date_time, tzid = "US/Eastern")
date_time.dup.set_tzid(tzid)
end
def dt_prop(date_time, tzid = "US/Eastern")
RiCal::PropertyValue::DateTime.convert(nil, date_time_with_zone(date_time, tzid))
end
def offset_for_tzid(year, month, day, hour, min, sec, tzid, alternate)
tz = TZInfo::Timezone.get(tzid) rescue nil
if tz
Rational(tz.period_for_local(DateTime.civil(year, month, day, hour, min, sec)).utc_total_offset, 86400)
else
provided_offset
end
end
def rectify_ical(string)
string.gsub(/^\s+/, "")
end
if RiCal::TimeWithZone
def result_time_in_zone(year, month, day, hour, min, sec, tzid, alternate_offset = nil)
DateTime.civil(year, month, day, hour, min, sec,
offset_for_tzid(year, month, day, hour, min, sec, tzid, alternate_offset)).in_time_zone(tzid)
end
else
def result_time_in_zone(year, month, day, hour, min, sec, tzid, alternate_offset = nil)
DateTime.civil(year, month, day, hour, min, sec,
offset_for_tzid(year, month, day, hour, min, sec, tzid, alternate_offset)).set_tzid(tzid)
end
end