awallis-ri_cal 0.8.8

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