ri_cal 0.8.1 → 0.8.2
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +5 -0
- data/Manifest.txt +1 -0
- data/Rakefile +2 -2
- data/lib/ri_cal.rb +1 -1
- data/lib/ri_cal/parser.rb +1 -1
- data/lib/ri_cal/property_value/recurrence_rule/initialization_methods.rb +1 -1
- data/performance/empty_propval/subject.rb +43 -0
- data/ri_cal.gemspec +10 -10
- data/script/profile_subject +2 -0
- data/spec/ri_cal/bugreports_spec.rb +11 -2
- data/spec/ri_cal/parser_spec.rb +3 -0
- metadata +6 -5
data/History.txt
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
=== 0.8.2 - 4 September 2009
|
2
|
+
Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/23
|
3
|
+
initialization_methodsrb-syntax
|
4
|
+
Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/24
|
5
|
+
need-to-handle-empty-property-values
|
1
6
|
=== 0.8.1 - 18 August 2009
|
2
7
|
Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/21
|
3
8
|
exception-when-count-option-used-to-enumerate-non-recurring-event
|
data/Manifest.txt
CHANGED
@@ -91,6 +91,7 @@ lib/ri_cal/property_value/text.rb
|
|
91
91
|
lib/ri_cal/property_value/uri.rb
|
92
92
|
lib/ri_cal/property_value/utc_offset.rb
|
93
93
|
lib/ri_cal/required_timezones.rb
|
94
|
+
performance/empty_propval/subject.rb
|
94
95
|
performance/paris_eastern/subject.rb
|
95
96
|
performance/penultimate_weekday/subject.rb
|
96
97
|
performance/psm_big_enum/ical.ics
|
data/Rakefile
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
#require File.dirname(__FILE__) + '/lib/ri_cal'
|
6
6
|
|
7
7
|
require 'rubygems'
|
8
|
-
gem 'hoe', '>=
|
8
|
+
gem 'hoe', '>=2.1.0'
|
9
9
|
require 'hoe'
|
10
10
|
require 'fileutils'
|
11
11
|
require './lib/ri_cal'
|
@@ -23,7 +23,7 @@ $hoe = Hoe.spec('ri_cal') do |p|
|
|
23
23
|
p.readme_file = "README.txt"
|
24
24
|
p.extra_dev_deps = [
|
25
25
|
['newgem', ">= #{::Newgem::VERSION}"],
|
26
|
-
'ruby-prof'
|
26
|
+
['ruby-prof', ">= 0"]
|
27
27
|
]
|
28
28
|
|
29
29
|
p.clean_globs |= %w[**/.DS_Store tmp *.log]
|
data/lib/ri_cal.rb
CHANGED
@@ -14,7 +14,7 @@ module RiCal
|
|
14
14
|
autoload :OccurrenceEnumerator, "#{my_dir}/ri_cal/occurrence_enumerator.rb"
|
15
15
|
|
16
16
|
# :stopdoc:
|
17
|
-
VERSION = '0.8.
|
17
|
+
VERSION = '0.8.2'
|
18
18
|
LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
|
19
19
|
PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR
|
20
20
|
|
data/lib/ri_cal/parser.rb
CHANGED
@@ -39,7 +39,7 @@ module RiCal
|
|
39
39
|
def self.params_and_value(string, optional_initial_semi = false) #:nodoc:
|
40
40
|
string = string.sub(/^:/,'')
|
41
41
|
return [{}, string] unless optional_initial_semi || string.match(/^;/)
|
42
|
-
segments = string.sub(';','').split(":")
|
42
|
+
segments = string.sub(';','').split(":", -1)
|
43
43
|
return [{}, string] if segments.length < 2
|
44
44
|
quote_count = 0
|
45
45
|
gathering_params = true
|
@@ -0,0 +1,43 @@
|
|
1
|
+
class Subject
|
2
|
+
def initialize(out=STDOUT)
|
3
|
+
cals = RiCal.parse_string <<-END_OF_DATA
|
4
|
+
BEGIN:VCALENDAR
|
5
|
+
METHOD:REQUEST
|
6
|
+
PRODID:Microsoft CDO for Microsoft Exchange
|
7
|
+
VERSION:2.0
|
8
|
+
BEGIN:VTIMEZONE
|
9
|
+
TZID:(GMT-05.00) Eastern Time (US & Canada)
|
10
|
+
X-MICROSOFT-CDO-TZID:10
|
11
|
+
BEGIN:STANDARD
|
12
|
+
DTSTART:16010101T020000
|
13
|
+
TZOFFSETFROM:-0400
|
14
|
+
TZOFFSETTO:-0500
|
15
|
+
RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=11;BYDAY=1SU
|
16
|
+
END:STANDARD
|
17
|
+
BEGIN:DAYLIGHT
|
18
|
+
DTSTART:16010101T020000
|
19
|
+
TZOFFSETFROM:-0500
|
20
|
+
TZOFFSETTO:-0400
|
21
|
+
RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=2SU
|
22
|
+
END:DAYLIGHT
|
23
|
+
END:VTIMEZONE
|
24
|
+
BEGIN:VEVENT
|
25
|
+
DTSTAMP:20090724T143205Z
|
26
|
+
DTSTART;TZID="(GMT-05.00) Eastern Time (US & Canada)":20090804T120000
|
27
|
+
SUMMARY:FW: ALL HANDS MEETING
|
28
|
+
DTEND;TZID="(GMT-05.00) Eastern Time (US & Canada)":20090804T133000
|
29
|
+
DESCRIPTION:Some event
|
30
|
+
END:VEVENT
|
31
|
+
END:VCALENDAR
|
32
|
+
END_OF_DATA
|
33
|
+
|
34
|
+
cal = cals.first
|
35
|
+
@event = cal.events.first
|
36
|
+
end
|
37
|
+
|
38
|
+
def run
|
39
|
+
puts "start"
|
40
|
+
@event.dtstart
|
41
|
+
puts "done"
|
42
|
+
end
|
43
|
+
end
|
data/ri_cal.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{ri_cal}
|
5
|
-
s.version = "0.8.
|
5
|
+
s.version = "0.8.2" #comment to trigger github rebuild
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["author=Rick DeNatale"]
|
9
|
-
s.date = %q{2009-
|
9
|
+
s.date = %q{2009-09-04}
|
10
10
|
s.default_executable = %q{ri_cal}
|
11
11
|
s.description = %q{A new Ruby implementation of RFC2445 iCalendar.
|
12
12
|
|
@@ -19,12 +19,12 @@ A Google group for discussion of this library has been set up http://groups.goog
|
|
19
19
|
s.email = ["rick.denatale@gmail.com"]
|
20
20
|
s.executables = ["ri_cal"]
|
21
21
|
s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.txt", "copyrights.txt", "docs/draft-ietf-calsify-2446bis-08.txt", "docs/draft-ietf-calsify-rfc2445bis-09.txt", "docs/incrementers.txt"]
|
22
|
-
s.files = ["History.txt", "Manifest.txt", "README.txt", "Rakefile", "bin/ri_cal", "component_attributes/alarm.yml", "component_attributes/calendar.yml", "component_attributes/component_property_defs.yml", "component_attributes/event.yml", "component_attributes/freebusy.yml", "component_attributes/journal.yml", "component_attributes/timezone.yml", "component_attributes/timezone_period.yml", "component_attributes/todo.yml", "copyrights.txt", "docs/draft-ietf-calsify-2446bis-08.txt", "docs/draft-ietf-calsify-rfc2445bis-09.txt", "docs/incrementers.txt", "docs/rfc2445.pdf", "lib/ri_cal.rb", "lib/ri_cal/component.rb", "lib/ri_cal/component/alarm.rb", "lib/ri_cal/component/calendar.rb", "lib/ri_cal/component/event.rb", "lib/ri_cal/component/freebusy.rb", "lib/ri_cal/component/journal.rb", "lib/ri_cal/component/non_standard.rb", "lib/ri_cal/component/t_z_info_timezone.rb", "lib/ri_cal/component/timezone.rb", "lib/ri_cal/component/timezone/daylight_period.rb", "lib/ri_cal/component/timezone/standard_period.rb", "lib/ri_cal/component/timezone/timezone_period.rb", "lib/ri_cal/component/todo.rb", "lib/ri_cal/core_extensions.rb", "lib/ri_cal/core_extensions/array.rb", "lib/ri_cal/core_extensions/array/conversions.rb", "lib/ri_cal/core_extensions/date.rb", "lib/ri_cal/core_extensions/date/conversions.rb", "lib/ri_cal/core_extensions/date_time.rb", "lib/ri_cal/core_extensions/date_time/conversions.rb", "lib/ri_cal/core_extensions/object.rb", "lib/ri_cal/core_extensions/object/conversions.rb", "lib/ri_cal/core_extensions/string.rb", "lib/ri_cal/core_extensions/string/conversions.rb", "lib/ri_cal/core_extensions/time.rb", "lib/ri_cal/core_extensions/time/calculations.rb", "lib/ri_cal/core_extensions/time/conversions.rb", "lib/ri_cal/core_extensions/time/tzid_access.rb", "lib/ri_cal/core_extensions/time/week_day_predicates.rb", "lib/ri_cal/fast_date_time.rb", "lib/ri_cal/floating_timezone.rb", "lib/ri_cal/invalid_property_value.rb", "lib/ri_cal/invalid_timezone_identifer.rb", "lib/ri_cal/occurrence_enumerator.rb", "lib/ri_cal/occurrence_period.rb", "lib/ri_cal/parser.rb", "lib/ri_cal/properties/alarm.rb", "lib/ri_cal/properties/calendar.rb", "lib/ri_cal/properties/event.rb", "lib/ri_cal/properties/freebusy.rb", "lib/ri_cal/properties/journal.rb", "lib/ri_cal/properties/timezone.rb", "lib/ri_cal/properties/timezone_period.rb", "lib/ri_cal/properties/todo.rb", "lib/ri_cal/property_value.rb", "lib/ri_cal/property_value/array.rb", "lib/ri_cal/property_value/cal_address.rb", "lib/ri_cal/property_value/date.rb", "lib/ri_cal/property_value/date_time.rb", "lib/ri_cal/property_value/date_time/additive_methods.rb", "lib/ri_cal/property_value/date_time/time_machine.rb", "lib/ri_cal/property_value/date_time/timezone_support.rb", "lib/ri_cal/property_value/duration.rb", "lib/ri_cal/property_value/geo.rb", "lib/ri_cal/property_value/integer.rb", "lib/ri_cal/property_value/occurrence_list.rb", "lib/ri_cal/property_value/period.rb", "lib/ri_cal/property_value/recurrence_rule.rb", "lib/ri_cal/property_value/recurrence_rule/enumeration_support_methods.rb", "lib/ri_cal/property_value/recurrence_rule/enumerator.rb", "lib/ri_cal/property_value/recurrence_rule/initialization_methods.rb", "lib/ri_cal/property_value/recurrence_rule/negative_setpos_enumerator.rb", "lib/ri_cal/property_value/recurrence_rule/numbered_span.rb", "lib/ri_cal/property_value/recurrence_rule/occurence_incrementer.rb", "lib/ri_cal/property_value/recurrence_rule/recurring_day.rb", "lib/ri_cal/property_value/recurrence_rule/recurring_month_day.rb", "lib/ri_cal/property_value/recurrence_rule/recurring_numbered_week.rb", "lib/ri_cal/property_value/recurrence_rule/recurring_year_day.rb", "lib/ri_cal/property_value/recurrence_rule/validations.rb", "lib/ri_cal/property_value/text.rb", "lib/ri_cal/property_value/uri.rb", "lib/ri_cal/property_value/utc_offset.rb", "lib/ri_cal/required_timezones.rb", "performance/paris_eastern/subject.rb", "performance/penultimate_weekday/subject.rb", "performance/psm_big_enum/ical.ics", "performance/psm_big_enum/subject.rb", "performance/utah_cycling/subject.rb", "ri_cal.gemspec", "sample_ical_files/from_ical_dot_app/test1.ics", "script/benchmark_subject", "script/console", "script/destroy", "script/generate", "script/profile_subject", "script/txt2html", "spec/ri_cal/bugreports_spec.rb", "spec/ri_cal/component/alarm_spec.rb", "spec/ri_cal/component/calendar_spec.rb", "spec/ri_cal/component/event_spec.rb", "spec/ri_cal/component/freebusy_spec.rb", "spec/ri_cal/component/journal_spec.rb", "spec/ri_cal/component/t_z_info_timezone_spec.rb", "spec/ri_cal/component/timezone_spec.rb", "spec/ri_cal/component/todo_spec.rb", "spec/ri_cal/component_spec.rb", "spec/ri_cal/core_extensions/string/conversions_spec.rb", "spec/ri_cal/core_extensions/time/calculations_spec.rb", "spec/ri_cal/core_extensions/time/week_day_predicates_spec.rb", "spec/ri_cal/fast_date_time_spec.rb", "spec/ri_cal/occurrence_enumerator_spec.rb", "spec/ri_cal/parser_spec.rb", "spec/ri_cal/property_value/date_spec.rb", "spec/ri_cal/property_value/date_time_spec.rb", "spec/ri_cal/property_value/duration_spec.rb", "spec/ri_cal/property_value/occurrence_list_spec.rb", "spec/ri_cal/property_value/period_spec.rb", "spec/ri_cal/property_value/recurrence_rule/recurring_year_day_spec.rb", "spec/ri_cal/property_value/recurrence_rule_spec.rb", "spec/ri_cal/property_value/text_spec.rb", "spec/ri_cal/property_value/utc_offset_spec.rb", "spec/ri_cal/property_value_spec.rb", "spec/ri_cal/required_timezones_spec.rb", "spec/ri_cal_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "tasks/gem_loader/load_active_support.rb", "tasks/gem_loader/load_tzinfo_gem.rb", "tasks/ri_cal.rake", "tasks/spec.rake"]
|
22
|
+
s.files = ["History.txt", "Manifest.txt", "README.txt", "Rakefile", "bin/ri_cal", "component_attributes/alarm.yml", "component_attributes/calendar.yml", "component_attributes/component_property_defs.yml", "component_attributes/event.yml", "component_attributes/freebusy.yml", "component_attributes/journal.yml", "component_attributes/timezone.yml", "component_attributes/timezone_period.yml", "component_attributes/todo.yml", "copyrights.txt", "docs/draft-ietf-calsify-2446bis-08.txt", "docs/draft-ietf-calsify-rfc2445bis-09.txt", "docs/incrementers.txt", "docs/rfc2445.pdf", "lib/ri_cal.rb", "lib/ri_cal/component.rb", "lib/ri_cal/component/alarm.rb", "lib/ri_cal/component/calendar.rb", "lib/ri_cal/component/event.rb", "lib/ri_cal/component/freebusy.rb", "lib/ri_cal/component/journal.rb", "lib/ri_cal/component/non_standard.rb", "lib/ri_cal/component/t_z_info_timezone.rb", "lib/ri_cal/component/timezone.rb", "lib/ri_cal/component/timezone/daylight_period.rb", "lib/ri_cal/component/timezone/standard_period.rb", "lib/ri_cal/component/timezone/timezone_period.rb", "lib/ri_cal/component/todo.rb", "lib/ri_cal/core_extensions.rb", "lib/ri_cal/core_extensions/array.rb", "lib/ri_cal/core_extensions/array/conversions.rb", "lib/ri_cal/core_extensions/date.rb", "lib/ri_cal/core_extensions/date/conversions.rb", "lib/ri_cal/core_extensions/date_time.rb", "lib/ri_cal/core_extensions/date_time/conversions.rb", "lib/ri_cal/core_extensions/object.rb", "lib/ri_cal/core_extensions/object/conversions.rb", "lib/ri_cal/core_extensions/string.rb", "lib/ri_cal/core_extensions/string/conversions.rb", "lib/ri_cal/core_extensions/time.rb", "lib/ri_cal/core_extensions/time/calculations.rb", "lib/ri_cal/core_extensions/time/conversions.rb", "lib/ri_cal/core_extensions/time/tzid_access.rb", "lib/ri_cal/core_extensions/time/week_day_predicates.rb", "lib/ri_cal/fast_date_time.rb", "lib/ri_cal/floating_timezone.rb", "lib/ri_cal/invalid_property_value.rb", "lib/ri_cal/invalid_timezone_identifer.rb", "lib/ri_cal/occurrence_enumerator.rb", "lib/ri_cal/occurrence_period.rb", "lib/ri_cal/parser.rb", "lib/ri_cal/properties/alarm.rb", "lib/ri_cal/properties/calendar.rb", "lib/ri_cal/properties/event.rb", "lib/ri_cal/properties/freebusy.rb", "lib/ri_cal/properties/journal.rb", "lib/ri_cal/properties/timezone.rb", "lib/ri_cal/properties/timezone_period.rb", "lib/ri_cal/properties/todo.rb", "lib/ri_cal/property_value.rb", "lib/ri_cal/property_value/array.rb", "lib/ri_cal/property_value/cal_address.rb", "lib/ri_cal/property_value/date.rb", "lib/ri_cal/property_value/date_time.rb", "lib/ri_cal/property_value/date_time/additive_methods.rb", "lib/ri_cal/property_value/date_time/time_machine.rb", "lib/ri_cal/property_value/date_time/timezone_support.rb", "lib/ri_cal/property_value/duration.rb", "lib/ri_cal/property_value/geo.rb", "lib/ri_cal/property_value/integer.rb", "lib/ri_cal/property_value/occurrence_list.rb", "lib/ri_cal/property_value/period.rb", "lib/ri_cal/property_value/recurrence_rule.rb", "lib/ri_cal/property_value/recurrence_rule/enumeration_support_methods.rb", "lib/ri_cal/property_value/recurrence_rule/enumerator.rb", "lib/ri_cal/property_value/recurrence_rule/initialization_methods.rb", "lib/ri_cal/property_value/recurrence_rule/negative_setpos_enumerator.rb", "lib/ri_cal/property_value/recurrence_rule/numbered_span.rb", "lib/ri_cal/property_value/recurrence_rule/occurence_incrementer.rb", "lib/ri_cal/property_value/recurrence_rule/recurring_day.rb", "lib/ri_cal/property_value/recurrence_rule/recurring_month_day.rb", "lib/ri_cal/property_value/recurrence_rule/recurring_numbered_week.rb", "lib/ri_cal/property_value/recurrence_rule/recurring_year_day.rb", "lib/ri_cal/property_value/recurrence_rule/validations.rb", "lib/ri_cal/property_value/text.rb", "lib/ri_cal/property_value/uri.rb", "lib/ri_cal/property_value/utc_offset.rb", "lib/ri_cal/required_timezones.rb", "performance/empty_propval/subject.rb", "performance/paris_eastern/subject.rb", "performance/penultimate_weekday/subject.rb", "performance/psm_big_enum/ical.ics", "performance/psm_big_enum/subject.rb", "performance/utah_cycling/subject.rb", "ri_cal.gemspec", "sample_ical_files/from_ical_dot_app/test1.ics", "script/benchmark_subject", "script/console", "script/destroy", "script/generate", "script/profile_subject", "script/txt2html", "spec/ri_cal/bugreports_spec.rb", "spec/ri_cal/component/alarm_spec.rb", "spec/ri_cal/component/calendar_spec.rb", "spec/ri_cal/component/event_spec.rb", "spec/ri_cal/component/freebusy_spec.rb", "spec/ri_cal/component/journal_spec.rb", "spec/ri_cal/component/t_z_info_timezone_spec.rb", "spec/ri_cal/component/timezone_spec.rb", "spec/ri_cal/component/todo_spec.rb", "spec/ri_cal/component_spec.rb", "spec/ri_cal/core_extensions/string/conversions_spec.rb", "spec/ri_cal/core_extensions/time/calculations_spec.rb", "spec/ri_cal/core_extensions/time/week_day_predicates_spec.rb", "spec/ri_cal/fast_date_time_spec.rb", "spec/ri_cal/occurrence_enumerator_spec.rb", "spec/ri_cal/parser_spec.rb", "spec/ri_cal/property_value/date_spec.rb", "spec/ri_cal/property_value/date_time_spec.rb", "spec/ri_cal/property_value/duration_spec.rb", "spec/ri_cal/property_value/occurrence_list_spec.rb", "spec/ri_cal/property_value/period_spec.rb", "spec/ri_cal/property_value/recurrence_rule/recurring_year_day_spec.rb", "spec/ri_cal/property_value/recurrence_rule_spec.rb", "spec/ri_cal/property_value/text_spec.rb", "spec/ri_cal/property_value/utc_offset_spec.rb", "spec/ri_cal/property_value_spec.rb", "spec/ri_cal/required_timezones_spec.rb", "spec/ri_cal_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "tasks/gem_loader/load_active_support.rb", "tasks/gem_loader/load_tzinfo_gem.rb", "tasks/ri_cal.rake", "tasks/spec.rake"]
|
23
23
|
s.homepage = %q{http://ri-cal.rubyforge.org/}
|
24
24
|
s.rdoc_options = ["--main", "README.txt"]
|
25
25
|
s.require_paths = ["lib"]
|
26
26
|
s.rubyforge_project = %q{ri-cal}
|
27
|
-
s.rubygems_version = %q{1.3.
|
27
|
+
s.rubygems_version = %q{1.3.5}
|
28
28
|
s.summary = %q{A new Ruby implementation of RFC2445 iCalendar}
|
29
29
|
|
30
30
|
if s.respond_to? :specification_version then
|
@@ -32,17 +32,17 @@ A Google group for discussion of this library has been set up http://groups.goog
|
|
32
32
|
s.specification_version = 3
|
33
33
|
|
34
34
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
35
|
-
s.add_development_dependency(%q<newgem>, [">= 1.5.
|
35
|
+
s.add_development_dependency(%q<newgem>, [">= 1.5.2"])
|
36
36
|
s.add_development_dependency(%q<ruby-prof>, [">= 0"])
|
37
|
-
s.add_development_dependency(%q<hoe>, [">= 2.3.
|
37
|
+
s.add_development_dependency(%q<hoe>, [">= 2.3.3"])
|
38
38
|
else
|
39
|
-
s.add_dependency(%q<newgem>, [">= 1.5.
|
39
|
+
s.add_dependency(%q<newgem>, [">= 1.5.2"])
|
40
40
|
s.add_dependency(%q<ruby-prof>, [">= 0"])
|
41
|
-
s.add_dependency(%q<hoe>, [">= 2.3.
|
41
|
+
s.add_dependency(%q<hoe>, [">= 2.3.3"])
|
42
42
|
end
|
43
43
|
else
|
44
|
-
s.add_dependency(%q<newgem>, [">= 1.5.
|
44
|
+
s.add_dependency(%q<newgem>, [">= 1.5.2"])
|
45
45
|
s.add_dependency(%q<ruby-prof>, [">= 0"])
|
46
|
-
s.add_dependency(%q<hoe>, [">= 2.3.
|
46
|
+
s.add_dependency(%q<hoe>, [">= 2.3.3"])
|
47
47
|
end
|
48
48
|
end
|
data/script/profile_subject
CHANGED
@@ -20,7 +20,9 @@ result = RubyProf.profile do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
out_file = File.expand_path(File.join(File.dirname(__FILE__), %w[.. performance_data], "#{subject_name}.calltree"))
|
23
|
+
puts "out_file is #{out_file}"
|
23
24
|
printer = RubyProf::CallTreePrinter.new(result)
|
25
|
+
puts "got printer"
|
24
26
|
|
25
27
|
File.open(out_file, 'w') do |f|
|
26
28
|
printer.print(f)
|
@@ -106,13 +106,13 @@ BEGIN:VTIMEZONE
|
|
106
106
|
TZID:(GMT-05.00) Eastern Time (US & Canada)
|
107
107
|
X-MICROSOFT-CDO-TZID:10
|
108
108
|
BEGIN:STANDARD
|
109
|
-
DTSTART:
|
109
|
+
DTSTART:20010101T020000
|
110
110
|
TZOFFSETFROM:-0400
|
111
111
|
TZOFFSETTO:-0500
|
112
112
|
RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=11;BYDAY=1SU
|
113
113
|
END:STANDARD
|
114
114
|
BEGIN:DAYLIGHT
|
115
|
-
DTSTART:
|
115
|
+
DTSTART:20010101T020000
|
116
116
|
TZOFFSETFROM:-0500
|
117
117
|
TZOFFSETTO:-0400
|
118
118
|
RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=2SU
|
@@ -228,3 +228,12 @@ ENDVENUE
|
|
228
228
|
export.should include(@venue_str)
|
229
229
|
end
|
230
230
|
end
|
231
|
+
|
232
|
+
context "ticket #23" do
|
233
|
+
describe "RecurrenceRule" do
|
234
|
+
it "should convert the rrule string to a hash" do
|
235
|
+
rrule = RiCal::PropertyValue::RecurrenceRule.convert(nil, 'INTERVAL=2;FREQ=WEEKLY;BYDAY=TH,TU')
|
236
|
+
rrule.to_options_hash.should == {:freq => 'WEEKLY', :byday => %w{TH TU}, :interval => 2}
|
237
|
+
end
|
238
|
+
end
|
239
|
+
end
|
data/spec/ri_cal/parser_spec.rb
CHANGED
@@ -155,6 +155,9 @@ describe RiCal::Parser do
|
|
155
155
|
|
156
156
|
#RFC 2445 section 4.8.1.7 pp 84
|
157
157
|
describe_property("VEVENT", "LOCATION", {"ALTREP" => "\"http://xyzcorp.com/conf-rooms/f123.vcf\""}, "Conference Room - F123, Bldg. 002")
|
158
|
+
|
159
|
+
#Blank value with properties
|
160
|
+
describe_property("VEVENT", "LOCATION", {"LANGUAGE" => "en-US"}, "")
|
158
161
|
|
159
162
|
#RFC 2445 section 4.8.1.8 PERCENT-COMPLETE does not apply to Events
|
160
163
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ri_cal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- author=Rick DeNatale
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-09-11 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 1.5.
|
23
|
+
version: 1.5.2
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: ruby-prof
|
@@ -40,7 +40,7 @@ dependencies:
|
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 2.3.
|
43
|
+
version: 2.3.3
|
44
44
|
version:
|
45
45
|
description: |-
|
46
46
|
A new Ruby implementation of RFC2445 iCalendar.
|
@@ -159,6 +159,7 @@ files:
|
|
159
159
|
- lib/ri_cal/property_value/uri.rb
|
160
160
|
- lib/ri_cal/property_value/utc_offset.rb
|
161
161
|
- lib/ri_cal/required_timezones.rb
|
162
|
+
- performance/empty_propval/subject.rb
|
162
163
|
- performance/paris_eastern/subject.rb
|
163
164
|
- performance/penultimate_weekday/subject.rb
|
164
165
|
- performance/psm_big_enum/ical.ics
|
@@ -231,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
231
232
|
requirements: []
|
232
233
|
|
233
234
|
rubyforge_project: ri-cal
|
234
|
-
rubygems_version: 1.3.
|
235
|
+
rubygems_version: 1.3.5
|
235
236
|
signing_key:
|
236
237
|
specification_version: 3
|
237
238
|
summary: A new Ruby implementation of RFC2445 iCalendar
|