ri_cal 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. data/History.txt +45 -0
  2. data/Manifest.txt +129 -0
  3. data/README.txt +394 -0
  4. data/Rakefile +31 -0
  5. data/bin/ri_cal +8 -0
  6. data/component_attributes/alarm.yml +10 -0
  7. data/component_attributes/calendar.yml +4 -0
  8. data/component_attributes/component_property_defs.yml +180 -0
  9. data/component_attributes/event.yml +45 -0
  10. data/component_attributes/freebusy.yml +16 -0
  11. data/component_attributes/journal.yml +35 -0
  12. data/component_attributes/timezone.yml +3 -0
  13. data/component_attributes/timezone_period.yml +11 -0
  14. data/component_attributes/todo.yml +46 -0
  15. data/copyrights.txt +1 -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/lib/ri_cal.rb +144 -0
  21. data/lib/ri_cal/component.rb +247 -0
  22. data/lib/ri_cal/component/alarm.rb +21 -0
  23. data/lib/ri_cal/component/calendar.rb +219 -0
  24. data/lib/ri_cal/component/event.rb +60 -0
  25. data/lib/ri_cal/component/freebusy.rb +18 -0
  26. data/lib/ri_cal/component/journal.rb +30 -0
  27. data/lib/ri_cal/component/t_z_info_timezone.rb +123 -0
  28. data/lib/ri_cal/component/timezone.rb +196 -0
  29. data/lib/ri_cal/component/timezone/daylight_period.rb +25 -0
  30. data/lib/ri_cal/component/timezone/standard_period.rb +23 -0
  31. data/lib/ri_cal/component/timezone/timezone_period.rb +53 -0
  32. data/lib/ri_cal/component/todo.rb +43 -0
  33. data/lib/ri_cal/core_extensions.rb +6 -0
  34. data/lib/ri_cal/core_extensions/array.rb +7 -0
  35. data/lib/ri_cal/core_extensions/array/conversions.rb +15 -0
  36. data/lib/ri_cal/core_extensions/date.rb +13 -0
  37. data/lib/ri_cal/core_extensions/date/conversions.rb +61 -0
  38. data/lib/ri_cal/core_extensions/date_time.rb +15 -0
  39. data/lib/ri_cal/core_extensions/date_time/conversions.rb +50 -0
  40. data/lib/ri_cal/core_extensions/object.rb +8 -0
  41. data/lib/ri_cal/core_extensions/object/conversions.rb +20 -0
  42. data/lib/ri_cal/core_extensions/string.rb +8 -0
  43. data/lib/ri_cal/core_extensions/string/conversions.rb +63 -0
  44. data/lib/ri_cal/core_extensions/time.rb +13 -0
  45. data/lib/ri_cal/core_extensions/time/calculations.rb +153 -0
  46. data/lib/ri_cal/core_extensions/time/conversions.rb +61 -0
  47. data/lib/ri_cal/core_extensions/time/tzid_access.rb +50 -0
  48. data/lib/ri_cal/core_extensions/time/week_day_predicates.rb +88 -0
  49. data/lib/ri_cal/floating_timezone.rb +32 -0
  50. data/lib/ri_cal/invalid_property_value.rb +8 -0
  51. data/lib/ri_cal/invalid_timezone_identifer.rb +20 -0
  52. data/lib/ri_cal/occurrence_enumerator.rb +206 -0
  53. data/lib/ri_cal/occurrence_period.rb +17 -0
  54. data/lib/ri_cal/parser.rb +138 -0
  55. data/lib/ri_cal/properties/alarm.rb +390 -0
  56. data/lib/ri_cal/properties/calendar.rb +164 -0
  57. data/lib/ri_cal/properties/event.rb +1526 -0
  58. data/lib/ri_cal/properties/freebusy.rb +594 -0
  59. data/lib/ri_cal/properties/journal.rb +1240 -0
  60. data/lib/ri_cal/properties/timezone.rb +151 -0
  61. data/lib/ri_cal/properties/timezone_period.rb +416 -0
  62. data/lib/ri_cal/properties/todo.rb +1562 -0
  63. data/lib/ri_cal/property_value.rb +149 -0
  64. data/lib/ri_cal/property_value/array.rb +27 -0
  65. data/lib/ri_cal/property_value/cal_address.rb +11 -0
  66. data/lib/ri_cal/property_value/date.rb +175 -0
  67. data/lib/ri_cal/property_value/date_time.rb +335 -0
  68. data/lib/ri_cal/property_value/date_time/additive_methods.rb +44 -0
  69. data/lib/ri_cal/property_value/date_time/time_machine.rb +181 -0
  70. data/lib/ri_cal/property_value/date_time/timezone_support.rb +96 -0
  71. data/lib/ri_cal/property_value/duration.rb +110 -0
  72. data/lib/ri_cal/property_value/geo.rb +11 -0
  73. data/lib/ri_cal/property_value/integer.rb +12 -0
  74. data/lib/ri_cal/property_value/occurrence_list.rb +144 -0
  75. data/lib/ri_cal/property_value/period.rb +82 -0
  76. data/lib/ri_cal/property_value/recurrence_rule.rb +145 -0
  77. data/lib/ri_cal/property_value/recurrence_rule/enumeration_support_methods.rb +97 -0
  78. data/lib/ri_cal/property_value/recurrence_rule/enumerator.rb +79 -0
  79. data/lib/ri_cal/property_value/recurrence_rule/initialization_methods.rb +148 -0
  80. data/lib/ri_cal/property_value/recurrence_rule/negative_setpos_enumerator.rb +53 -0
  81. data/lib/ri_cal/property_value/recurrence_rule/numbered_span.rb +31 -0
  82. data/lib/ri_cal/property_value/recurrence_rule/occurence_incrementer.rb +793 -0
  83. data/lib/ri_cal/property_value/recurrence_rule/recurring_day.rb +131 -0
  84. data/lib/ri_cal/property_value/recurrence_rule/recurring_month_day.rb +60 -0
  85. data/lib/ri_cal/property_value/recurrence_rule/recurring_numbered_week.rb +33 -0
  86. data/lib/ri_cal/property_value/recurrence_rule/recurring_year_day.rb +49 -0
  87. data/lib/ri_cal/property_value/recurrence_rule/validations.rb +125 -0
  88. data/lib/ri_cal/property_value/text.rb +40 -0
  89. data/lib/ri_cal/property_value/uri.rb +11 -0
  90. data/lib/ri_cal/property_value/utc_offset.rb +33 -0
  91. data/lib/ri_cal/required_timezones.rb +55 -0
  92. data/ri_cal.gemspec +49 -0
  93. data/sample_ical_files/from_ical_dot_app/test1.ics +38 -0
  94. data/script/console +10 -0
  95. data/script/destroy +14 -0
  96. data/script/generate +14 -0
  97. data/script/txt2html +71 -0
  98. data/spec/ri_cal/component/alarm_spec.rb +12 -0
  99. data/spec/ri_cal/component/calendar_spec.rb +54 -0
  100. data/spec/ri_cal/component/event_spec.rb +601 -0
  101. data/spec/ri_cal/component/freebusy_spec.rb +12 -0
  102. data/spec/ri_cal/component/journal_spec.rb +37 -0
  103. data/spec/ri_cal/component/t_z_info_timezone_spec.rb +36 -0
  104. data/spec/ri_cal/component/timezone_spec.rb +218 -0
  105. data/spec/ri_cal/component/todo_spec.rb +112 -0
  106. data/spec/ri_cal/component_spec.rb +224 -0
  107. data/spec/ri_cal/core_extensions/string/conversions_spec.rb +78 -0
  108. data/spec/ri_cal/core_extensions/time/calculations_spec.rb +188 -0
  109. data/spec/ri_cal/core_extensions/time/week_day_predicates_spec.rb +45 -0
  110. data/spec/ri_cal/occurrence_enumerator_spec.rb +573 -0
  111. data/spec/ri_cal/parser_spec.rb +303 -0
  112. data/spec/ri_cal/property_value/date_spec.rb +53 -0
  113. data/spec/ri_cal/property_value/date_time_spec.rb +383 -0
  114. data/spec/ri_cal/property_value/duration_spec.rb +126 -0
  115. data/spec/ri_cal/property_value/occurrence_list_spec.rb +72 -0
  116. data/spec/ri_cal/property_value/period_spec.rb +49 -0
  117. data/spec/ri_cal/property_value/recurrence_rule/recurring_year_day_spec.rb +21 -0
  118. data/spec/ri_cal/property_value/recurrence_rule_spec.rb +1814 -0
  119. data/spec/ri_cal/property_value/text_spec.rb +25 -0
  120. data/spec/ri_cal/property_value/utc_offset_spec.rb +48 -0
  121. data/spec/ri_cal/property_value_spec.rb +125 -0
  122. data/spec/ri_cal/required_timezones_spec.rb +67 -0
  123. data/spec/ri_cal_spec.rb +53 -0
  124. data/spec/spec.opts +4 -0
  125. data/spec/spec_helper.rb +46 -0
  126. data/tasks/gem_loader/load_active_support.rb +3 -0
  127. data/tasks/gem_loader/load_tzinfo_gem.rb +2 -0
  128. data/tasks/ri_cal.rake +410 -0
  129. data/tasks/spec.rake +50 -0
  130. metadata +221 -0
@@ -0,0 +1,50 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ require 'spec'
6
+ end
7
+ begin
8
+ require 'spec/rake/spectask'
9
+ rescue LoadError
10
+ puts <<-EOS
11
+ To use rspec for testing you must install rspec gem:
12
+ gem install rspec
13
+ EOS
14
+ exit(0)
15
+ end
16
+
17
+ desc "Run all specs"
18
+ Spec::Rake::SpecTask.new do |t|
19
+ t.spec_opts = ['--options', "spec/spec.opts"]
20
+ t.spec_files = FileList['spec/**/*_spec.rb']
21
+ t.ruby_opts << "-rubygems"
22
+ end
23
+
24
+ namespace :spec do
25
+ desc "Run all specs in the presence of ActiveSupport"
26
+ Spec::Rake::SpecTask.new(:with_active_support) do |t|
27
+ t.spec_opts = ['--options', "spec/spec.opts"]
28
+ t.spec_files = FileList['spec/**/*_spec.rb']
29
+ t.ruby_opts << "-r #{File.join(File.dirname(__FILE__), *%w[gem_loader load_active_support])}"
30
+ end
31
+
32
+ desc "Run all specs in the presence of the tzinfo gem"
33
+ Spec::Rake::SpecTask.new(:with_tzinfo_gem) do |t|
34
+ t.spec_opts = ['--options', "spec/spec.opts"]
35
+ t.spec_files = FileList['spec/**/*_spec.rb']
36
+ t.ruby_opts << "-r #{File.join(File.dirname(__FILE__), *%w[gem_loader load_tzinfo_gem])}"
37
+ end
38
+ end
39
+
40
+ if RUBY_VERSION.match(/^1\.8\./)
41
+ desc 'Run all specs with RCov'
42
+ Spec::Rake::SpecTask.new(:rcov) do |t|
43
+ t.spec_opts = ['--options', "spec/spec.opts"]
44
+ t.spec_files = FileList['spec/**/*_spec.rb']
45
+ t.rcov = true
46
+ t.rcov_dir = "coverage"
47
+ t.rcov_opts = ['--exclude', 'spec']
48
+ end
49
+ end
50
+
metadata ADDED
@@ -0,0 +1,221 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ri_cal
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
+ platform: ruby
6
+ authors:
7
+ - author=Rick DeNatale
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-05-26 00:00:00 -04:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: newgem
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.3.0
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: hoe
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.8.0
34
+ version:
35
+ description: |-
36
+ This is an UNOFFICIAL version. The public official version will be released on RubyForge. Github will be used
37
+ for interim versions. USE THIS VERSION AT YOUR OWN RISK.
38
+
39
+ A new Ruby implementation of RFC2445 iCalendar.
40
+
41
+ The existing Ruby iCalendar libraries (e.g. icalendar, vpim) provide for parsing and generating icalendar files,
42
+ but do not support important things like enumerating occurrences of repeating events.
43
+
44
+ This is a clean-slate implementation of RFC2445.
45
+
46
+ A Google group for discussion of this library has been set up http://groups.google.com/group/rical_gem
47
+ email:
48
+ - rick.denatale@gmail.com
49
+ executables:
50
+ - ri_cal
51
+ extensions: []
52
+
53
+ extra_rdoc_files:
54
+ - History.txt
55
+ - Manifest.txt
56
+ - README.txt
57
+ - copyrights.txt
58
+ - docs/draft-ietf-calsify-2446bis-08.txt
59
+ - docs/draft-ietf-calsify-rfc2445bis-09.txt
60
+ - docs/incrementers.txt
61
+ files:
62
+ - History.txt
63
+ - Manifest.txt
64
+ - README.txt
65
+ - Rakefile
66
+ - bin/ri_cal
67
+ - component_attributes/alarm.yml
68
+ - component_attributes/calendar.yml
69
+ - component_attributes/component_property_defs.yml
70
+ - component_attributes/event.yml
71
+ - component_attributes/freebusy.yml
72
+ - component_attributes/journal.yml
73
+ - component_attributes/timezone.yml
74
+ - component_attributes/timezone_period.yml
75
+ - component_attributes/todo.yml
76
+ - copyrights.txt
77
+ - docs/draft-ietf-calsify-2446bis-08.txt
78
+ - docs/draft-ietf-calsify-rfc2445bis-09.txt
79
+ - docs/incrementers.txt
80
+ - docs/rfc2445.pdf
81
+ - lib/ri_cal.rb
82
+ - lib/ri_cal/component.rb
83
+ - lib/ri_cal/component/alarm.rb
84
+ - lib/ri_cal/component/calendar.rb
85
+ - lib/ri_cal/component/event.rb
86
+ - lib/ri_cal/component/freebusy.rb
87
+ - lib/ri_cal/component/journal.rb
88
+ - lib/ri_cal/component/t_z_info_timezone.rb
89
+ - lib/ri_cal/component/timezone.rb
90
+ - lib/ri_cal/component/timezone/daylight_period.rb
91
+ - lib/ri_cal/component/timezone/standard_period.rb
92
+ - lib/ri_cal/component/timezone/timezone_period.rb
93
+ - lib/ri_cal/component/todo.rb
94
+ - lib/ri_cal/core_extensions.rb
95
+ - lib/ri_cal/core_extensions/array.rb
96
+ - lib/ri_cal/core_extensions/array/conversions.rb
97
+ - lib/ri_cal/core_extensions/date.rb
98
+ - lib/ri_cal/core_extensions/date/conversions.rb
99
+ - lib/ri_cal/core_extensions/date_time.rb
100
+ - lib/ri_cal/core_extensions/date_time/conversions.rb
101
+ - lib/ri_cal/core_extensions/object.rb
102
+ - lib/ri_cal/core_extensions/object/conversions.rb
103
+ - lib/ri_cal/core_extensions/string.rb
104
+ - lib/ri_cal/core_extensions/string/conversions.rb
105
+ - lib/ri_cal/core_extensions/time.rb
106
+ - lib/ri_cal/core_extensions/time/calculations.rb
107
+ - lib/ri_cal/core_extensions/time/conversions.rb
108
+ - lib/ri_cal/core_extensions/time/tzid_access.rb
109
+ - lib/ri_cal/core_extensions/time/week_day_predicates.rb
110
+ - lib/ri_cal/floating_timezone.rb
111
+ - lib/ri_cal/invalid_property_value.rb
112
+ - lib/ri_cal/invalid_timezone_identifer.rb
113
+ - lib/ri_cal/occurrence_enumerator.rb
114
+ - lib/ri_cal/occurrence_period.rb
115
+ - lib/ri_cal/parser.rb
116
+ - lib/ri_cal/properties/alarm.rb
117
+ - lib/ri_cal/properties/calendar.rb
118
+ - lib/ri_cal/properties/event.rb
119
+ - lib/ri_cal/properties/freebusy.rb
120
+ - lib/ri_cal/properties/journal.rb
121
+ - lib/ri_cal/properties/timezone.rb
122
+ - lib/ri_cal/properties/timezone_period.rb
123
+ - lib/ri_cal/properties/todo.rb
124
+ - lib/ri_cal/property_value.rb
125
+ - lib/ri_cal/property_value/array.rb
126
+ - lib/ri_cal/property_value/cal_address.rb
127
+ - lib/ri_cal/property_value/date.rb
128
+ - lib/ri_cal/property_value/date_time.rb
129
+ - lib/ri_cal/property_value/date_time/additive_methods.rb
130
+ - lib/ri_cal/property_value/date_time/time_machine.rb
131
+ - lib/ri_cal/property_value/date_time/timezone_support.rb
132
+ - lib/ri_cal/property_value/duration.rb
133
+ - lib/ri_cal/property_value/geo.rb
134
+ - lib/ri_cal/property_value/integer.rb
135
+ - lib/ri_cal/property_value/occurrence_list.rb
136
+ - lib/ri_cal/property_value/period.rb
137
+ - lib/ri_cal/property_value/recurrence_rule.rb
138
+ - lib/ri_cal/property_value/recurrence_rule/enumeration_support_methods.rb
139
+ - lib/ri_cal/property_value/recurrence_rule/enumerator.rb
140
+ - lib/ri_cal/property_value/recurrence_rule/initialization_methods.rb
141
+ - lib/ri_cal/property_value/recurrence_rule/negative_setpos_enumerator.rb
142
+ - lib/ri_cal/property_value/recurrence_rule/numbered_span.rb
143
+ - lib/ri_cal/property_value/recurrence_rule/occurence_incrementer.rb
144
+ - lib/ri_cal/property_value/recurrence_rule/recurring_day.rb
145
+ - lib/ri_cal/property_value/recurrence_rule/recurring_month_day.rb
146
+ - lib/ri_cal/property_value/recurrence_rule/recurring_numbered_week.rb
147
+ - lib/ri_cal/property_value/recurrence_rule/recurring_year_day.rb
148
+ - lib/ri_cal/property_value/recurrence_rule/validations.rb
149
+ - lib/ri_cal/property_value/text.rb
150
+ - lib/ri_cal/property_value/uri.rb
151
+ - lib/ri_cal/property_value/utc_offset.rb
152
+ - lib/ri_cal/required_timezones.rb
153
+ - ri_cal.gemspec
154
+ - sample_ical_files/from_ical_dot_app/test1.ics
155
+ - script/console
156
+ - script/destroy
157
+ - script/generate
158
+ - script/txt2html
159
+ - spec/ri_cal/component/alarm_spec.rb
160
+ - spec/ri_cal/component/calendar_spec.rb
161
+ - spec/ri_cal/component/event_spec.rb
162
+ - spec/ri_cal/component/freebusy_spec.rb
163
+ - spec/ri_cal/component/journal_spec.rb
164
+ - spec/ri_cal/component/t_z_info_timezone_spec.rb
165
+ - spec/ri_cal/component/timezone_spec.rb
166
+ - spec/ri_cal/component/todo_spec.rb
167
+ - spec/ri_cal/component_spec.rb
168
+ - spec/ri_cal/core_extensions/string/conversions_spec.rb
169
+ - spec/ri_cal/core_extensions/time/calculations_spec.rb
170
+ - spec/ri_cal/core_extensions/time/week_day_predicates_spec.rb
171
+ - spec/ri_cal/occurrence_enumerator_spec.rb
172
+ - spec/ri_cal/parser_spec.rb
173
+ - spec/ri_cal/property_value/date_spec.rb
174
+ - spec/ri_cal/property_value/date_time_spec.rb
175
+ - spec/ri_cal/property_value/duration_spec.rb
176
+ - spec/ri_cal/property_value/occurrence_list_spec.rb
177
+ - spec/ri_cal/property_value/period_spec.rb
178
+ - spec/ri_cal/property_value/recurrence_rule/recurring_year_day_spec.rb
179
+ - spec/ri_cal/property_value/recurrence_rule_spec.rb
180
+ - spec/ri_cal/property_value/text_spec.rb
181
+ - spec/ri_cal/property_value/utc_offset_spec.rb
182
+ - spec/ri_cal/property_value_spec.rb
183
+ - spec/ri_cal/required_timezones_spec.rb
184
+ - spec/ri_cal_spec.rb
185
+ - spec/spec.opts
186
+ - spec/spec_helper.rb
187
+ - tasks/gem_loader/load_active_support.rb
188
+ - tasks/gem_loader/load_tzinfo_gem.rb
189
+ - tasks/ri_cal.rake
190
+ - tasks/spec.rake
191
+ has_rdoc: true
192
+ homepage: http://ri-cal.rubyforge.org/
193
+ licenses: []
194
+
195
+ post_install_message:
196
+ rdoc_options:
197
+ - --main
198
+ - README.txt
199
+ require_paths:
200
+ - lib
201
+ required_ruby_version: !ruby/object:Gem::Requirement
202
+ requirements:
203
+ - - ">="
204
+ - !ruby/object:Gem::Version
205
+ version: "0"
206
+ version:
207
+ required_rubygems_version: !ruby/object:Gem::Requirement
208
+ requirements:
209
+ - - ">="
210
+ - !ruby/object:Gem::Version
211
+ version: "0"
212
+ version:
213
+ requirements: []
214
+
215
+ rubyforge_project: rical
216
+ rubygems_version: 1.3.2
217
+ signing_key:
218
+ specification_version: 3
219
+ summary: This is an UNOFFICIAL version
220
+ test_files: []
221
+