ri_cal 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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
+