friflaj_ri_cal 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. data/.gitignore +8 -0
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +26 -0
  4. data/History.txt +408 -0
  5. data/README.rdoc +407 -0
  6. data/Rakefile +9 -0
  7. data/component_attributes/alarm.yml +10 -0
  8. data/component_attributes/calendar.yml +4 -0
  9. data/component_attributes/component_property_defs.yml +180 -0
  10. data/component_attributes/event.yml +45 -0
  11. data/component_attributes/freebusy.yml +16 -0
  12. data/component_attributes/journal.yml +35 -0
  13. data/component_attributes/timezone.yml +3 -0
  14. data/component_attributes/timezone_period.yml +11 -0
  15. data/component_attributes/todo.yml +46 -0
  16. data/docs/draft-ietf-calsify-2446bis-08.txt +7280 -0
  17. data/docs/draft-ietf-calsify-rfc2445bis-09.txt +10416 -0
  18. data/docs/incrementers.txt +7 -0
  19. data/docs/rfc2445.pdf +0 -0
  20. data/docs/test.ics +38 -0
  21. data/lib/ri_cal.rb +184 -0
  22. data/lib/ri_cal/component.rb +254 -0
  23. data/lib/ri_cal/component/alarm.rb +17 -0
  24. data/lib/ri_cal/component/calendar.rb +255 -0
  25. data/lib/ri_cal/component/event.rb +56 -0
  26. data/lib/ri_cal/component/freebusy.rb +14 -0
  27. data/lib/ri_cal/component/journal.rb +25 -0
  28. data/lib/ri_cal/component/non_standard.rb +31 -0
  29. data/lib/ri_cal/component/t_z_info_timezone.rb +155 -0
  30. data/lib/ri_cal/component/timezone.rb +195 -0
  31. data/lib/ri_cal/component/timezone/daylight_period.rb +23 -0
  32. data/lib/ri_cal/component/timezone/standard_period.rb +21 -0
  33. data/lib/ri_cal/component/timezone/timezone_period.rb +74 -0
  34. data/lib/ri_cal/component/todo.rb +39 -0
  35. data/lib/ri_cal/core_extensions.rb +7 -0
  36. data/lib/ri_cal/core_extensions/array.rb +16 -0
  37. data/lib/ri_cal/core_extensions/date.rb +63 -0
  38. data/lib/ri_cal/core_extensions/date_time.rb +58 -0
  39. data/lib/ri_cal/core_extensions/object.rb +21 -0
  40. data/lib/ri_cal/core_extensions/string.rb +58 -0
  41. data/lib/ri_cal/core_extensions/time.rb +50 -0
  42. data/lib/ri_cal/core_extensions/time/calculations.rb +150 -0
  43. data/lib/ri_cal/core_extensions/time/tzid_access.rb +47 -0
  44. data/lib/ri_cal/core_extensions/time/week_day_predicates.rb +52 -0
  45. data/lib/ri_cal/fast_date_time.rb +247 -0
  46. data/lib/ri_cal/floating_timezone.rb +29 -0
  47. data/lib/ri_cal/invalid_property_value.rb +5 -0
  48. data/lib/ri_cal/invalid_timezone_identifier.rb +17 -0
  49. data/lib/ri_cal/occurrence_enumerator.rb +262 -0
  50. data/lib/ri_cal/occurrence_period.rb +17 -0
  51. data/lib/ri_cal/parser.rb +142 -0
  52. data/lib/ri_cal/properties.rb +12 -0
  53. data/lib/ri_cal/properties/alarm.rb +387 -0
  54. data/lib/ri_cal/properties/calendar.rb +161 -0
  55. data/lib/ri_cal/properties/event.rb +1520 -0
  56. data/lib/ri_cal/properties/freebusy.rb +590 -0
  57. data/lib/ri_cal/properties/journal.rb +1234 -0
  58. data/lib/ri_cal/properties/timezone.rb +147 -0
  59. data/lib/ri_cal/properties/timezone_period.rb +413 -0
  60. data/lib/ri_cal/properties/todo.rb +1556 -0
  61. data/lib/ri_cal/property_value.rb +157 -0
  62. data/lib/ri_cal/property_value/array.rb +25 -0
  63. data/lib/ri_cal/property_value/cal_address.rb +9 -0
  64. data/lib/ri_cal/property_value/date.rb +182 -0
  65. data/lib/ri_cal/property_value/date_time.rb +357 -0
  66. data/lib/ri_cal/property_value/date_time/additive_methods.rb +42 -0
  67. data/lib/ri_cal/property_value/date_time/time_machine.rb +157 -0
  68. data/lib/ri_cal/property_value/date_time/timezone_support.rb +98 -0
  69. data/lib/ri_cal/property_value/duration.rb +108 -0
  70. data/lib/ri_cal/property_value/geo.rb +9 -0
  71. data/lib/ri_cal/property_value/integer.rb +10 -0
  72. data/lib/ri_cal/property_value/occurrence_list.rb +142 -0
  73. data/lib/ri_cal/property_value/period.rb +84 -0
  74. data/lib/ri_cal/property_value/recurrence_rule.rb +152 -0
  75. data/lib/ri_cal/property_value/recurrence_rule/enumeration_support_methods.rb +98 -0
  76. data/lib/ri_cal/property_value/recurrence_rule/enumerator.rb +77 -0
  77. data/lib/ri_cal/property_value/recurrence_rule/initialization_methods.rb +146 -0
  78. data/lib/ri_cal/property_value/recurrence_rule/negative_setpos_enumerator.rb +51 -0
  79. data/lib/ri_cal/property_value/recurrence_rule/numbered_span.rb +29 -0
  80. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer.rb +133 -0
  81. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/by_day_incrementer.rb +84 -0
  82. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/by_hour_incrementer.rb +29 -0
  83. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/by_minute_incrementer.rb +30 -0
  84. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/by_month_incrementer.rb +50 -0
  85. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/by_monthday_incrementer.rb +29 -0
  86. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/by_numbered_day_incrementer.rb +36 -0
  87. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/by_second_incrementer.rb +30 -0
  88. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/by_weekno_incrementer.rb +67 -0
  89. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/by_yearday_incrementer.rb +29 -0
  90. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/daily_incrementer.rb +26 -0
  91. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/frequency_incrementer.rb +78 -0
  92. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/hourly_incrementer.rb +21 -0
  93. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/list_incrementer.rb +104 -0
  94. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/minutely_incrementer.rb +21 -0
  95. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/monthly_incrementer.rb +31 -0
  96. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/null_sub_cycle_incrementer.rb +41 -0
  97. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/secondly_incrementer.rb +26 -0
  98. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/weekly_incrementer.rb +35 -0
  99. data/lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/yearly_incrementer.rb +55 -0
  100. data/lib/ri_cal/property_value/recurrence_rule/recurring_day.rb +129 -0
  101. data/lib/ri_cal/property_value/recurrence_rule/recurring_month_day.rb +62 -0
  102. data/lib/ri_cal/property_value/recurrence_rule/recurring_numbered_week.rb +31 -0
  103. data/lib/ri_cal/property_value/recurrence_rule/recurring_year_day.rb +51 -0
  104. data/lib/ri_cal/property_value/recurrence_rule/time_manipulation.rb +40 -0
  105. data/lib/ri_cal/property_value/recurrence_rule/validations.rb +123 -0
  106. data/lib/ri_cal/property_value/text.rb +42 -0
  107. data/lib/ri_cal/property_value/uri.rb +9 -0
  108. data/lib/ri_cal/property_value/utc_offset.rb +31 -0
  109. data/lib/ri_cal/property_value/zulu_date_time.rb +32 -0
  110. data/lib/ri_cal/required_timezones.rb +53 -0
  111. data/lib/ri_cal/version.rb +3 -0
  112. data/parked_specs/ri_cal/claudio_a_bug_spec.rb +98 -0
  113. data/performance/empty_propval/subject.rb +43 -0
  114. data/performance/paris_eastern/subject.rb +90 -0
  115. data/performance/penultimate_weekday/subject.rb +15 -0
  116. data/performance/psm_big_enum/ical.ics +3171 -0
  117. data/performance/psm_big_enum/subject.rb +16 -0
  118. data/performance/utah_cycling/subject.rb +55 -0
  119. data/performance_data/benchmarks.out +48 -0
  120. data/performance_data/empty_propval.calltree +45650 -0
  121. data/performance_data/paris_eastern.calltree +103058 -0
  122. data/performance_data/penultimate_weekday.calltree +48686 -0
  123. data/performance_data/psm_big_enum.calltree +225814 -0
  124. data/performance_data/utah_cycling.calltree +117950 -0
  125. data/ri_cal.gemspec +35 -0
  126. data/script/benchmark_subject +23 -0
  127. data/script/console +10 -0
  128. data/script/destroy +14 -0
  129. data/script/generate +14 -0
  130. data/script/profile_subject +29 -0
  131. data/script/txt2html +71 -0
  132. data/spec/ri_cal/bugreports_spec.rb +281 -0
  133. data/spec/ri_cal/component/alarm_spec.rb +10 -0
  134. data/spec/ri_cal/component/calendar_spec.rb +87 -0
  135. data/spec/ri_cal/component/event_spec.rb +734 -0
  136. data/spec/ri_cal/component/freebusy_spec.rb +10 -0
  137. data/spec/ri_cal/component/journal_spec.rb +35 -0
  138. data/spec/ri_cal/component/t_z_info_timezone_spec.rb +63 -0
  139. data/spec/ri_cal/component/timezone_spec.rb +233 -0
  140. data/spec/ri_cal/component/todo_spec.rb +110 -0
  141. data/spec/ri_cal/component_spec.rb +225 -0
  142. data/spec/ri_cal/core_extensions/string/conversions_spec.rb +76 -0
  143. data/spec/ri_cal/core_extensions/time/calculations_spec.rb +186 -0
  144. data/spec/ri_cal/core_extensions/time/week_day_predicates_spec.rb +43 -0
  145. data/spec/ri_cal/fast_date_time_spec.rb +75 -0
  146. data/spec/ri_cal/inf_loop_spec.rb +75 -0
  147. data/spec/ri_cal/occurrence_enumerator_spec.rb +610 -0
  148. data/spec/ri_cal/parser_spec.rb +335 -0
  149. data/spec/ri_cal/property_value/date_spec.rb +51 -0
  150. data/spec/ri_cal/property_value/date_time_spec.rb +380 -0
  151. data/spec/ri_cal/property_value/duration_spec.rb +123 -0
  152. data/spec/ri_cal/property_value/occurrence_list_spec.rb +70 -0
  153. data/spec/ri_cal/property_value/period_spec.rb +61 -0
  154. data/spec/ri_cal/property_value/recurrence_rule/recurring_year_day_spec.rb +19 -0
  155. data/spec/ri_cal/property_value/recurrence_rule_spec.rb +1810 -0
  156. data/spec/ri_cal/property_value/text_spec.rb +23 -0
  157. data/spec/ri_cal/property_value/utc_offset_spec.rb +46 -0
  158. data/spec/ri_cal/property_value_spec.rb +123 -0
  159. data/spec/ri_cal/required_timezones_spec.rb +63 -0
  160. data/spec/ri_cal_spec.rb +50 -0
  161. data/spec/spec_helper.rb +35 -0
  162. data/tasks/ri_cal.rake +400 -0
  163. data/tasks/spec.rake +26 -0
  164. metadata +260 -0
data/.gitignore ADDED
@@ -0,0 +1,8 @@
1
+ coverage/
2
+ tmp/
3
+ pkg/
4
+ profiles/
5
+ doc/
6
+ \.DS_Store
7
+ .ackrc
8
+ .swp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in ri_cal.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,26 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ ri_cal (0.9.0)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ diff-lcs (1.1.3)
10
+ rspec (2.10.0)
11
+ rspec-core (~> 2.10.0)
12
+ rspec-expectations (~> 2.10.0)
13
+ rspec-mocks (~> 2.10.0)
14
+ rspec-core (2.10.0)
15
+ rspec-expectations (2.10.0)
16
+ diff-lcs (~> 1.1.3)
17
+ rspec-mocks (2.10.1)
18
+ tzinfo (0.3.33)
19
+
20
+ PLATFORMS
21
+ ruby
22
+
23
+ DEPENDENCIES
24
+ ri_cal!
25
+ rspec
26
+ tzinfo
data/History.txt ADDED
@@ -0,0 +1,408 @@
1
+ === v0.9.0 2012-05-07
2
+ Borrow from https://github.com/xaop/ri_cal/commit/47f382cc0bb6ddb085686354acbf6788719a37e8
3
+ Move copyright statement out of source code.
4
+ Since Rails > 3 also use tzinfo, no reason to test against activesupport.
5
+ Clean up.
6
+ Fork from rubyredrick.
7
+ === v0.8.8 2011-02-13
8
+ Regenerate gemspec for version 0.8.8
9
+ Version bump to 0.8.8
10
+ fix x property access
11
+ change rakefile to use ad_agency
12
+ === v0.8.7 2010-04-16
13
+ Regenerated gemspec for version 0.8.7
14
+ update history
15
+ Version bump to 0.8.7
16
+ fix tickets #29-supress x-rical-tzsource when not relevant
17
+ === v0.8.6 2010-04-15
18
+ Regenerated gemspec for version 0.8.6
19
+ update history prior to release
20
+ Version bump to 0.8.6
21
+ fix tzinfo timezone export
22
+ force change managment datetimes to zulu time
23
+ added ZuluDateTime property for use by change management properties
24
+ parked a spec
25
+ Convert to jeweler
26
+ Version bump to 0.8.5
27
+ remove unneeeded Date#to_time and DateTime#to_time methods
28
+ remove inf loop spec temporarily
29
+ Working on a bug where a recurrence rule with simple by-parts caused an infinite loop See spec/ri_cal/inf_loop_spec
30
+
31
+ Although the reported bug is fixed there is still work to do because giving an event a dtstart
32
+ not within the recurrence rule produces incorrect output.
33
+
34
+ 1) 'an event with unneeded by parts with a dtstart outside the recurrence rule should enumerate 10 events first July 12, 1940, July 13, 1940, July 13, 1941 when count is 3' FAILED
35
+ expected: ["1940-07-12", "1940-07-13", "1941-07-13"],
36
+ got: ["1940-07-12", "1940-07-13", "1941-07-12"] (using ==)
37
+
38
+ I'm going to push this to github, but not release a new gem version until I can fix this latter bug.
39
+
40
+ fixed infinite loop bug for reported case
41
+ website and gemspec
42
+ Fixed Ticket #26, failing with date values for event dtstart and dtend
43
+ updated website
44
+ === v0.8.4 2009-09-18
45
+ fixed gemspec problem
46
+ === v0.8.3 2009-09-18
47
+ prepared to publish
48
+ refactored occurrence incrementers
49
+ checkpoint
50
+ changed ri_cal.rb to autoload
51
+ changed ri_cal.rb to autoload
52
+ === v0.8.2 2009-09-05
53
+ another attempt to trigger github to rebuild
54
+ fixed gem version so github should now build
55
+ Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/23 initialization_methodsrb-syntax Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/24 need-to-handle-empty-property-values
56
+ fixed ticket #23
57
+ adopted patch from ebigart
58
+ Support properties with no value (e.g. 'LOCATION;LANGUAGE=en-US:' gets generated using Outlook)
59
+ === v0.8.1 2009-08-18
60
+ Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/21 exception-when-count-option-used-to-enumerate-non-recurring-event
61
+ === v0.8.0 2009-08-11
62
+ Minor Version Bump - There is a small potentially breaking change see section on treatment of X-properties below * Unknown Components
63
+
64
+ Starting with version 0.8.0 RiCal will parse calendars and components which contain nonstandard components.
65
+
66
+ For example, there was a short-lived proposal to extend RFC2445 with a new VVENUE component which would hold structured information about the location of an event. This proposal was never accepted and was withdrawn, but there is icalendar data in the wild which contains VVENUE components.
67
+
68
+ Prior to version 0.8.0, RiCal would raise an exception if unknown component types were encountered. Starting with version 0.8.0 RiCal will 'parse' such components and create instances of NonStandard component to represent them. Since the actual format of unknown components is not known by RiCal, the NonStandard component will simply save the data lines between the BEGIN:xxx and END:xxx lines, (where xxx is the non-standard component name, e.g. VVENUE). If the calendar is re-exported the original lines will be replayed.
69
+
70
+ * Change to treatment of X-properties
71
+
72
+ RFC2445 allows 'non-standard' or experimental properties which property-names beginning with X. RiCal always supported parsing these.
73
+
74
+ The standard properties are specified as to how many times they can occur within a particular component. For singly occurring properties RiCal returns a single property object, while for properties which can occur multiple times RiCal returns an array of property objects.
75
+
76
+ While implementing NonStandard properties, I realized that X-properties were being assumed to be singly occurring. But this isn't necessarily true. So starting with 0.8.0 the X-properties are represented by an array of property objects.
77
+
78
+ THIS MAY BREAK SOME APPLICATIONS, but the adaptation should be easy.
79
+
80
+ - No changes other than a version number bump. github seems to have failed to notice the commit of v0.7.6
81
+ and didn't build the gem. Hopefully it will notice this one.
82
+
83
+ === v0.7.6 2009-08-06
84
+ Version 0.7.6 - Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/20 RiCal::PropertyValue::Period was returning a nil ruby value.
85
+ Version 0.7.6 - Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/20 RiCal::PropertyValue::Period was returning a nil ruby value.
86
+ checkpoint before regen
87
+ === v0.7.5 2009-08-03
88
+ Merge commit 'origin/master'
89
+ fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/19 Microsoft ical exports double quote tzid values in parameters, which caused a failure to find VTIMEZONES
90
+ This exposed an issue with parameter parsing.
91
+
92
+ fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/19 Microsoft ical exports double quote tzid values in parameters, which caused a failure to find VTIMEZONES
93
+ This exposed an issue with parameter parsing.
94
+
95
+ updated website
96
+ Oops forgot to update gemspec
97
+ release 0.7.4
98
+ fix alarm trigger
99
+ added pointer to rdoc in README
100
+ === 0_7_2 2009-07-06
101
+ updated to use newest versions of newgem and hoe, in order to make run-code-run work again
102
+ updated to use newest versions of newgem and hoe, in order to make run-code-run work again
103
+ === 0_7_1 2009-07-06
104
+ * fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/15 duration validation issues * fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/16 event finish_time loses timezone info when event has a dtstart and duration
105
+ === 0_7_0 2009-06-29
106
+ * fixed http://rick_denatale.lighthouseapp.com/projects/30941/tickets/14 component without recurrence properties should enumerate just itself only if it is within the period between starting and before * added the :overlapping option to OccurrenceEnumerator#occurrences - Allows the enumeration of occurrences which are either partiall or completely within a timespan given by a pair of Dates/Times/DateTimes * Fixed some Ruby 1.9 incompatibilities * Added some new rake tasks to run specs under multi-ruby
107
+ fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/14 component-without-recurrence-properties-should-enumerate-just-itself-only-if-it-is-within-the-period-between-starting-and-before
108
+
109
+ Made the test rake task a no-op since we only have specs not tests Cleaned up syntax warnings in two specs using here doc strings
110
+
111
+ === 0_6_3 2009-06-14
112
+ * Fixed http://rick_denatale.lighthouseapp.com/projects/30941-ri_cal/tickets/13 tzinfotimezones-with-no-transitions-fail-on-export
113
+ === 0_6_2 2009-06-11
114
+ * Fixed http://rick_denatale.lighthouseapp.com/projects/30941-ri_cal/tickets/12 export-failure-for-unbounded-tzinfo-timezone
115
+ === 0_6_1 2009-06-07
116
+ * Fixed problem with file which loads activesupport for the rake spec:with_activesupport task, it now requires >=2.2 instead of <=2.2 - Thanks to Paul Scott-Murphy for finding this.
117
+ fixed gem version requirement in tasks/gem_loader/load_active_support.rb
118
+ === 0_6_0 2009-06-05
119
+ Time for a minor version bump. * Improved overall enumeration performance bypassing most of the effects of the poor performance of Ruby's DateTime class. * Added a framework for performance monitoring during development. - New performance directory with subdirs for code to be monitored for performance (subjects) - New script files: script/benchmark_subject runs a ruby benchmark on one performance subject script/profile_subject runs ruby-prof for a subject and puts a kcachegrind compatible calltree in the performance_data directory. - New rake tasks: performance:benchmark runs benchmarks against all subjects in the performance directory and produces a consolidated output file in performance_data/benchmarks.out performance:profile runs script/profile_subject against all subjects in the performance directory.
120
+ === perf_harness 2009-06-05
121
+ performance harness
122
+ changed profile3 to output kcachegrind compatible output
123
+ === 0_5_3 2009-06-01
124
+ version 0.5.3
125
+ ready to merge
126
+ timezone period now caching occurrences
127
+ experiment with caching rationals in the RiCal module
128
+ added reset of caches
129
+ Easy performance improvement for occurrence enumeration
130
+ changes to rakefile - trying to make rake release work
131
+ === 0_5_2 2009-05-28
132
+ Version 0.5.2
133
+ Fixed [\#11 state:resolved]
134
+ === 0_5_1 2009-05-26
135
+ fix README to acknowledge release on RubyForge
136
+ === 0_5_0 2009-05-26
137
+ version 0.5.0 rubyforge release candidate
138
+ after generator change
139
+ === github0_0_11 2009-05-23
140
+ updated version to 0.0.11
141
+ Fixes [\#5 state:resolved milestone:"0.0.11"]
142
+ Fixed [\#9 state:resolved milestone:"0.0.11"]
143
+ Fixed bug [\#8 tagged:committed state:resolved]
144
+ fixed [\#4 \#6 state:committed]
145
+ Fixed bugs [\#4 \#6 state:committed]
146
+ fixed [\#1] tagged:committed fixed [\#2] tagged:committed fixed [\#3] tagged:committed
147
+ === github0_0_7 2009-05-18
148
+ gemspec for 0.0.7
149
+ Documentation updates
150
+ fixed problem with TimeWithZone
151
+ updated gemspec
152
+ new rake tasks to run specs with tzinfo or activesupport
153
+ fixed an occurrence enumeration bug reported by paulsm on github
154
+ fixed bug in imported timezones
155
+ fixed bug reported by paulsm via github
156
+ fixed manifest to remove .ackrc
157
+ new gemspec
158
+ removed rubigen include from Rakefile, since it pulls in activesupport
159
+ doc cleanup
160
+ doc cleanup
161
+ rationalized namespaces of Datetime property modules
162
+ finished string conversion specs
163
+ synced copyrights
164
+ added spec for string conversion to datetime
165
+ added specs for multiply occuring property example
166
+ checkpoint after generator change
167
+ implement OccurrenceEnumerator :starting option fix so that :before and :starting actually accept Date,Time or DateTime instances as arguments by converting occurrence[:start].to_datetime before comparing against :starting or :before
168
+ checkpoint
169
+ ruby values of datetime props now have tzids and proper utc-offsets
170
+ fixed bug where RiCal::PropertyValue::Duration.from_datetime would fail when start > finish
171
+ regenerated
172
+ checkpoint after generator change
173
+ checkpoint before generator change
174
+ Merge branch 'master' of git://github.com/wesmaldonado/ri_cal
175
+ RiCal::PropertyValue::DateTime.default_tzid can be set.
176
+ added OcurrenceList.occurrence_list_property_from_string
177
+ added timezone detection to occurence list convert
178
+ regenarated properties
179
+ checkpoint after changing generator
180
+ resync version number between ri_cal.rb and gemspec
181
+ fixed manifest removed uncommitted occurrence_list_spec
182
+ updated manifest and gemspec
183
+ updated readme for github unofficial release
184
+ fixed export of x_property
185
+ checkpoint changed generation
186
+ fixed problem with array input to datetime properties not using ::Array for check
187
+ doc cleanup
188
+ checkpoint after change to generator
189
+ checkpoint before generator change
190
+ fixed manifest
191
+ DATETIME properties can now also take an array with a time and a time zone identifier as a value
192
+ merge
193
+ added in_time_zone method to DateTime property
194
+ calendar now responsible for flagging tzinfo source
195
+ refactored DateTime property value class -- finally
196
+ .utc working for imported datetimes
197
+ working on timezone conversions for datetime property
198
+ fixed problem with count in recurrence rule
199
+ Merge branch 'master' of ssh://git@denhaven2.com/home/git/repositories/ri_cal
200
+ added more tzinfo timezone compat specs
201
+ fixed issue with active support time zones
202
+ fixed gem generation issues
203
+ fixed gem generation issues
204
+ changed unneeded around_local back to last_before_local
205
+ timezone checking for ambiguous/invalid local times
206
+ checkpoint
207
+ changed parent_component to timezone_finder
208
+ checkpoint before renaming parent_component to timezone_finder
209
+ checkpoint before regeneration
210
+ checkpoint before regeneration
211
+ fixed export to fold long output lines
212
+ added adams builder patch and code that ensued
213
+ added second style of component initialization block
214
+ ruby 1.9 compatibility
215
+ more doc
216
+ working on docs
217
+ working on doc
218
+ component build seems to be working
219
+ checkpoint before applying new rake task change
220
+ prior to regeneration - added new methods to the rake task for multiple value properties
221
+ added some doc to readme
222
+ added support for times with floating time zones
223
+ component export datetime and date now formatting correctly
224
+ fixed tzinfo_timezone spec
225
+ export event 1 spec fails
226
+ checkpoint before regeneration
227
+ generated properties
228
+ changed ri_cal rake task to generate add_date_times_to(required_timezones) method
229
+ added classes to accumulate require timezones for export
230
+ dead code elimination
231
+ removed debugging output
232
+ all specs passing, need to remove debugging output
233
+ recurrence rule spec passing
234
+ checkpoint, about to combine byday, bymonthday, and byyearday incrementers
235
+ checkpoint
236
+ checkpoint
237
+ checkpoint
238
+ checkpoint
239
+ checkpoint
240
+ checkpoint
241
+ checkpoint before moving by rules checks
242
+ specs passing, but some missing
243
+ checkpoint
244
+ tabled experiment
245
+ taught the text property how to deal with escaped characters
246
+ checkpoint
247
+ checkpoint
248
+ checkpoint before moving by rules checks
249
+ specs passing, but some missing
250
+ checkpoint
251
+ tabled experiment
252
+ added copyright task
253
+ merged timezone_calcs
254
+ initial timezone enumeration working
255
+ changed tzinfo to emit one period each for standard and daylight
256
+ changed tzinfo to emit one period each for standard and daylight
257
+ changed rdoc to darkfish format, took doc directory out of .gitignore
258
+ Merge branch 'occurrence_enumeration' Conflicts:
259
+ .gitignore
260
+ README.txt
261
+ Rakefile
262
+ component_attributes/component_property_defs.yml
263
+ lib/ri_cal.rb
264
+ lib/ri_cal/component.rb
265
+ lib/ri_cal/parser.rb
266
+ lib/ri_cal/property_value.rb
267
+ spec/ri_cal/parser_spec.rb
268
+ spec/ri_cal/property_value_spec.rb
269
+ spec/spec_helper.rb
270
+ tasks/ri_cal.rake
271
+
272
+ Prepared for limited release Lots of Doc
273
+
274
+ Refactored validations out of recurrence rule
275
+
276
+ occurrence enumeration producing hashes
277
+ Moved inner classes inside RecurrenceRule to separate files
278
+ Refactored to put components inside the Component class
279
+ Refactored for modularity - put value classes inside PropertyValue class, renamed so e.g. DurationValue is now PropertyValue::Duration
280
+ moved calculations to date/time/datetime
281
+ moved nth weekday predicates to Ruby time/date/datetime
282
+ file restructuring
283
+ Added specs and behavior for: date_time_value
284
+ calculations such as subtraction to produce a duration, and addition and subtraction of a duration
285
+ duration_value
286
+ period_value
287
+
288
+ used autoload to preload some classes/modules
289
+ refactored to put generated component property methods in separate modules
290
+ now ignoring doc and coverage directory contents
291
+ Added attribute definitions for alarm, freebusy, journal components. Added psuedo components with attribute definitions for timezone periods Added parsing of nested components
292
+ removed dependency on activesupport
293
+ renamed ventity to component, and all components have natural names like Calendar, Event etc.
294
+ removed name iv from property_value, no longer needed
295
+ added initial vtdodo_spec
296
+ mend
297
+ added mutually exclusive property resetting
298
+ added Vtodo class
299
+ added GeoValue class
300
+ entities now have accessors for both properties and property values
301
+ now using yml for attributes, generating rdoc for methods
302
+ methods for entities are now generated rather than dynamic, to facilitate rdoc
303
+ checkpoint before destroying rb files
304
+ normalized project file structure
305
+ multi-value attributes
306
+ added base spec for ri_cal
307
+ prepare to support multiple value attributes
308
+ fixed file hierarchy in spec directory so that autodetection works
309
+ all rrule examples in RFC 2445 passing
310
+ Every 20 mins...
311
+ by setpos usecases working
312
+ passing use cases through the US presidential election case
313
+ byday with yearly frequency working
314
+ YEARLY with by-month list now working
315
+ checkpoint working on YEARLY with by-month list
316
+ new enumeration algorithm, mostly working
317
+ checkpoint - bit the bullet on using activesupport
318
+ all frequencies, interval=1, next occurrence
319
+ partial implementation checkpoint
320
+ processing :value key in recurrence_rule initialization
321
+ changed by_xxx symbols to just byxxx
322
+ Refactored v_xx_property classes are now xx_value
323
+
324
+ added behavior and specs for recurring weekno rule part
325
+ fixed wkstart calculations
326
+ checkpoint - initial week start calculations are broken
327
+ refactored to move month length calculations to a module
328
+ added computational behavior and specs for recurring month days
329
+ to_ical implementation for recurrence rules
330
+ all by_xxx rules can now be set on instantiation
331
+ refactored validation of recurrence rule
332
+ initial by_xxx rules
333
+ checkpoint start on recurrence rule value
334
+ changed autotest config
335
+ fixed up autotest configuration
336
+ all vevent properties, I think
337
+ added recurrence rules; removed activesupport dependency
338
+ refactored ventity to use metaprogramming for repetitive methods
339
+ checkpoint before doing some metaprogramming
340
+ renamed project from rfc2445 to ri_cal
341
+ added correct expectation
342
+ added initial support to generate a VTIMEZONE component from a TZInfo::Timezone
343
+ additional property types including integers, dates and date-times
344
+ refactored and added array property
345
+ some event properties
346
+ base calendar properties
347
+ initial commit
348
+ made temporary restricted use license
349
+ working on merging of recurrence rules and recurrence lists changed date_list_value to occurrence_list_value changed rrule enumeration to take the component instead of just dtstart changed rrule enumeration to return a hash instead of just a date time recurrence lists can include durations which will produce occurrences with a different duration
350
+ now ignoring doc and coverage directory contents
351
+ Added attribute definitions for alarm, freebusy, journal components. Added psuedo components with attribute definitions for timezone periods Added parsing of nested components
352
+ removed dependency on activesupport
353
+ renamed ventity to component, and all components have natural names like Calendar, Event etc.
354
+ some doc
355
+ removed name iv from property_value, no longer needed
356
+ added initial vtdodo_spec
357
+ mend
358
+ added mutually exclusive property resetting
359
+ added Vtodo class
360
+ added GeoValue class
361
+ entities now have accessors for both properties and property values
362
+ now using yml for attributes, generating rdoc for methods
363
+ methods for entities are now generated rather than dynamic, to facilitate rdoc
364
+ checkpoint before destroying rb files
365
+ normalized project file structure
366
+ multi-value attributes
367
+ added base spec for ri_cal
368
+ prepare to support multiple value attributes
369
+ fixed file hierarchy in spec directory so that autodetection works
370
+ all rrule examples in RFC 2445 passing
371
+ Every 20 mins...
372
+ by setpos usecases working
373
+ passing use cases through the US presidential election case
374
+ byday with yearly frequency working
375
+ YEARLY with by-month list now working
376
+ checkpoint working on YEARLY with by-month list
377
+ new enumeration algorithm, mostly working
378
+ checkpoint - bit the bullet on using activesupport
379
+ all frequencies, interval=1, next occurrence
380
+ partial implementation checkpoint
381
+ processing :value key in recurrence_rule initialization
382
+ changed by_xxx symbols to just byxxx
383
+ Refactored v_xx_property classes are now xx_value
384
+
385
+ added behavior and specs for recurring weekno rule part
386
+ fixed wkstart calculations
387
+ checkpoint - initial week start calculations are broken
388
+ refactored to move month length calculations to a module
389
+ added computational behavior and specs for recurring month days
390
+ to_ical implementation for recurrence rules
391
+ all by_xxx rules can now be set on instantiation
392
+ refactored validation of recurrence rule
393
+ initial by_xxx rules
394
+ checkpoint start on recurrence rule value
395
+ changed autotest config
396
+ fixed up autotest configuration
397
+ all vevent properties, I think
398
+ added recurrence rules; removed activesupport dependency
399
+ refactored ventity to use metaprogramming for repetitive methods
400
+ checkpoint before doing some metaprogramming
401
+ renamed project from rfc2445 to ri_cal
402
+ added correct expectation
403
+ added initial support to generate a VTIMEZONE component from a TZInfo::Timezone
404
+ additional property types including integers, dates and date-times
405
+ refactored and added array property
406
+ some event properties
407
+ base calendar properties
408
+ initial commit