icalendar 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. data/Rakefile +26 -3
  2. data/docs/api/classes/Array.html +155 -0
  3. data/docs/api/classes/Bignum.html +148 -0
  4. data/docs/api/classes/Date.html +172 -0
  5. data/docs/api/classes/DateTime.html +200 -0
  6. data/docs/api/classes/Fixnum.html +148 -0
  7. data/docs/api/classes/Float.html +148 -0
  8. data/docs/api/classes/HashAttrs.html +212 -0
  9. data/docs/api/classes/Icalendar/Alarm.html +228 -0
  10. data/docs/api/classes/Icalendar/Base.html +179 -0
  11. data/docs/api/classes/Icalendar/Calendar.html +504 -0
  12. data/docs/api/classes/Icalendar/Component.html +853 -0
  13. data/docs/api/classes/Icalendar/DateProp.html +187 -0
  14. data/docs/api/classes/Icalendar/DateProp/ClassMethods.html +195 -0
  15. data/docs/api/classes/Icalendar/Daylight.html +156 -0
  16. data/docs/api/classes/Icalendar/Event.html +671 -0
  17. data/docs/api/classes/Icalendar/Freebusy.html +266 -0
  18. data/docs/api/classes/Icalendar/Geo.html +211 -0
  19. data/docs/api/classes/Icalendar/InvalidPropertyValue.html +117 -0
  20. data/docs/api/classes/Icalendar/Journal.html +443 -0
  21. data/docs/api/classes/Icalendar/Parameter.html +166 -0
  22. data/docs/api/classes/Icalendar/Parser.html +352 -0
  23. data/docs/api/classes/Icalendar/RRule.html +428 -0
  24. data/docs/api/classes/Icalendar/RRule/Weekday.html +199 -0
  25. data/docs/api/classes/Icalendar/Standard.html +156 -0
  26. data/docs/api/classes/Icalendar/Timezone.html +450 -0
  27. data/docs/api/classes/Icalendar/Todo.html +480 -0
  28. data/docs/api/classes/Icalendar/TzidSupport.html +118 -0
  29. data/docs/api/classes/Icalendar/UnknownComponentClass.html +117 -0
  30. data/docs/api/classes/Icalendar/UnknownPropertyMethod.html +117 -0
  31. data/docs/api/classes/Object.html +272 -0
  32. data/docs/api/classes/String.html +148 -0
  33. data/docs/api/classes/TZInfo.html +119 -0
  34. data/docs/api/classes/TZInfo/Timezone.html +153 -0
  35. data/docs/api/classes/TZInfo/TimezonePeriod.html +200 -0
  36. data/docs/api/classes/TZInfo/TimezoneTransitionInfo.html +229 -0
  37. data/docs/api/classes/Time.html +180 -0
  38. data/docs/api/classes/URI.html +111 -0
  39. data/docs/api/classes/URI/Generic.html +148 -0
  40. data/docs/api/created.rid +1 -0
  41. data/docs/api/files/COPYING.html +163 -0
  42. data/docs/api/files/GPL.html +531 -0
  43. data/docs/api/files/README.html +401 -0
  44. data/docs/api/files/lib/hash_attrs_rb.html +107 -0
  45. data/docs/api/files/lib/icalendar/base_rb.html +108 -0
  46. data/docs/api/files/lib/icalendar/calendar_rb.html +101 -0
  47. data/docs/api/files/lib/icalendar/component/alarm_rb.html +101 -0
  48. data/docs/api/files/lib/icalendar/component/event_rb.html +101 -0
  49. data/docs/api/files/lib/icalendar/component/freebusy_rb.html +101 -0
  50. data/docs/api/files/lib/icalendar/component/journal_rb.html +101 -0
  51. data/docs/api/files/lib/icalendar/component/timezone_rb.html +101 -0
  52. data/docs/api/files/lib/icalendar/component/todo_rb.html +101 -0
  53. data/docs/api/files/lib/icalendar/component_rb.html +108 -0
  54. data/docs/api/files/lib/icalendar/conversions_rb.html +109 -0
  55. data/docs/api/files/lib/icalendar/helpers_rb.html +101 -0
  56. data/docs/api/files/lib/icalendar/parameter_rb.html +101 -0
  57. data/docs/api/files/lib/icalendar/parser_rb.html +110 -0
  58. data/docs/api/files/lib/icalendar/rrule_rb.html +110 -0
  59. data/docs/api/files/lib/icalendar/tzinfo_rb.html +101 -0
  60. data/docs/api/files/lib/icalendar_rb.html +121 -0
  61. data/docs/api/files/lib/meta_rb.html +107 -0
  62. data/docs/api/fr_class_index.html +64 -0
  63. data/docs/api/fr_file_index.html +47 -0
  64. data/docs/api/fr_method_index.html +123 -0
  65. data/docs/api/index.html +24 -0
  66. data/docs/api/rdoc-style.css +208 -0
  67. data/lib/icalendar.rb +1 -0
  68. data/lib/icalendar/component.rb +3 -3
  69. data/lib/icalendar/component/event.rb +1 -1
  70. data/lib/icalendar/component/freebusy.rb +1 -0
  71. data/lib/icalendar/conversions.rb +6 -0
  72. data/lib/icalendar/conversions.rb.orig +144 -0
  73. data/lib/icalendar/parser.rb +0 -94
  74. data/lib/icalendar/rrule.rb +133 -0
  75. data/test/component/timezone_test.rb +1 -1
  76. data/test/component_test.rb +10 -0
  77. data/test/conversions_test.rb +4 -4
  78. data/test/coverage/index.html +272 -0
  79. data/test/coverage/lib-hash_attrs_rb.html +235 -0
  80. data/test/coverage/lib-icalendar-base_rb.html +249 -0
  81. data/test/coverage/lib-icalendar-calendar_rb.html +324 -0
  82. data/test/coverage/lib-icalendar-component-alarm_rb.html +250 -0
  83. data/test/coverage/lib-icalendar-component-event_rb.html +353 -0
  84. data/test/coverage/lib-icalendar-component-freebusy_rb.html +245 -0
  85. data/test/coverage/lib-icalendar-component-journal_rb.html +278 -0
  86. data/test/coverage/lib-icalendar-component-timezone_rb.html +326 -0
  87. data/test/coverage/lib-icalendar-component-todo_rb.html +277 -0
  88. data/test/coverage/lib-icalendar-component_rb.html +733 -0
  89. data/test/coverage/lib-icalendar-conversions_rb.html +358 -0
  90. data/test/coverage/lib-icalendar-parser_rb.html +671 -0
  91. data/test/coverage/lib-icalendar-rrule_rb.html +357 -0
  92. data/test/coverage/lib-icalendar_rb.html +243 -0
  93. data/test/coverage/lib-meta_rb.html +234 -0
  94. data/test/fixtures/folding.ics +2 -2
  95. metadata +113 -36
  96. data/docs/api/STUB +0 -0
@@ -0,0 +1,428 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Icalendar::RRule</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Icalendar::RRule</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/icalendar/rrule_rb.html">
59
+ lib/icalendar/rrule.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ <a href="Base.html">
69
+ Icalendar::Base
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+ <div id="description">
84
+ <p>
85
+ This class is not yet fully functional..
86
+ </p>
87
+ <p>
88
+ Gem versions &lt; 1.1.0.0 used to return a string for the recurrence_rule
89
+ component, but now it returns this <a
90
+ href="RRule.html">Icalendar::RRule</a> class. ie It&#8216;s not backwards
91
+ compatible!
92
+ </p>
93
+ <p>
94
+ To get the original RRULE value from a parsed feed, use the &#8216;<a
95
+ href="RRule.html#M000037">orig_value</a>&#8217; property.
96
+ </p>
97
+ <p>
98
+ Example:
99
+ </p>
100
+ <pre>
101
+ rules = event.recurrence_rules.map{ |rule| rule.orig_value }
102
+ </pre>
103
+
104
+ </div>
105
+
106
+
107
+ </div>
108
+
109
+ <div id="method-list">
110
+ <h3 class="section-bar">Methods</h3>
111
+
112
+ <div class="name-list">
113
+ <a href="#M000036">new</a>&nbsp;&nbsp;
114
+ <a href="#M000044">occurrences_of_event_starting</a>&nbsp;&nbsp;
115
+ <a href="#M000037">orig_value</a>&nbsp;&nbsp;
116
+ <a href="#M000039">parse_date_val</a>&nbsp;&nbsp;
117
+ <a href="#M000041">parse_int_list</a>&nbsp;&nbsp;
118
+ <a href="#M000040">parse_int_val</a>&nbsp;&nbsp;
119
+ <a href="#M000042">parse_weekday_list</a>&nbsp;&nbsp;
120
+ <a href="#M000043">parse_wkstart</a>&nbsp;&nbsp;
121
+ <a href="#M000038">to_ical</a>&nbsp;&nbsp;
122
+ </div>
123
+ </div>
124
+
125
+ </div>
126
+
127
+
128
+ <!-- if includes -->
129
+
130
+ <div id="section">
131
+
132
+ <div id="class-list">
133
+ <h3 class="section-bar">Classes and Modules</h3>
134
+
135
+ Class <a href="RRule/Weekday.html" class="link">Icalendar::RRule::Weekday</a><br />
136
+
137
+ </div>
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+ <!-- if method_list -->
146
+ <div id="methods">
147
+ <h3 class="section-bar">Public Class methods</h3>
148
+
149
+ <div id="method-M000036" class="method-detail">
150
+ <a name="M000036"></a>
151
+
152
+ <div class="method-heading">
153
+ <a href="#M000036" class="method-signature">
154
+ <span class="method-name">new</span><span class="method-args">(name, params, value, parser)</span>
155
+ </a>
156
+ </div>
157
+
158
+ <div class="method-description">
159
+ <p><a class="source-toggle" href="#"
160
+ onclick="toggleCode('M000036-source');return false;">[Source]</a></p>
161
+ <div class="method-source-code" id="M000036-source">
162
+ <pre>
163
+ <span class="ruby-comment cmt"># File lib/icalendar/rrule.rb, line 42</span>
164
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">params</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">parser</span>)
165
+ <span class="ruby-ivar">@value</span> = <span class="ruby-identifier">value</span>
166
+ <span class="ruby-identifier">frequency_match</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/FREQ=(SECONDLY|MINUTELY|HOURLY|DAILY|WEEKLY|MONTHLY|YEARLY)/</span>)
167
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Icalendar</span><span class="ruby-operator">::</span><span class="ruby-constant">InvalidPropertyValue</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;FREQ must be specified for RRULE values&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">frequency_match</span>
168
+ <span class="ruby-ivar">@frequency</span> = <span class="ruby-identifier">frequency_match</span>[<span class="ruby-value">1</span>]
169
+ <span class="ruby-ivar">@until</span> = <span class="ruby-identifier">parse_date_val</span>(<span class="ruby-value str">&quot;UNTIL&quot;</span>, <span class="ruby-identifier">value</span>)
170
+ <span class="ruby-ivar">@count</span> = <span class="ruby-identifier">parse_int_val</span>(<span class="ruby-value str">&quot;COUNT&quot;</span>, <span class="ruby-identifier">value</span>)
171
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Icalendar</span><span class="ruby-operator">::</span><span class="ruby-constant">InvalidPropertyValue</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;UNTIL and COUNT must not both be specified for RRULE values&quot;</span>) <span class="ruby-keyword kw">if</span> [<span class="ruby-ivar">@until</span>, <span class="ruby-ivar">@count</span>].<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
172
+ <span class="ruby-ivar">@interval</span> = <span class="ruby-identifier">parse_int_val</span>(<span class="ruby-value str">&quot;INTERVAL&quot;</span>, <span class="ruby-identifier">value</span>)
173
+ <span class="ruby-ivar">@by_list</span> = {<span class="ruby-identifier">:bysecond</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">parse_int_list</span>(<span class="ruby-value str">&quot;BYSECOND&quot;</span>, <span class="ruby-identifier">value</span>)}
174
+ <span class="ruby-ivar">@by_list</span>[<span class="ruby-identifier">:byminute</span>] = <span class="ruby-identifier">parse_int_list</span>(<span class="ruby-value str">&quot;BYMINUTE&quot;</span>,<span class="ruby-identifier">value</span>)
175
+ <span class="ruby-ivar">@by_list</span>[<span class="ruby-identifier">:byhour</span>] = <span class="ruby-identifier">parse_int_list</span>(<span class="ruby-value str">&quot;BYHOUR&quot;</span>, <span class="ruby-identifier">value</span>)
176
+ <span class="ruby-ivar">@by_list</span>[<span class="ruby-identifier">:byday</span>] = <span class="ruby-identifier">parse_weekday_list</span>(<span class="ruby-value str">&quot;BYDAY&quot;</span>, <span class="ruby-identifier">value</span>)
177
+ <span class="ruby-ivar">@by_list</span>[<span class="ruby-identifier">:bymonthday</span>] = <span class="ruby-identifier">parse_int_list</span>(<span class="ruby-value str">&quot;BYMONTHDAY&quot;</span>, <span class="ruby-identifier">value</span>)
178
+ <span class="ruby-ivar">@by_list</span>[<span class="ruby-identifier">:byyearday</span>] = <span class="ruby-identifier">parse_int_list</span>(<span class="ruby-value str">&quot;BYYEARDAY&quot;</span>, <span class="ruby-identifier">value</span>)
179
+ <span class="ruby-ivar">@by_list</span>[<span class="ruby-identifier">:byweekno</span>] = <span class="ruby-identifier">parse_int_list</span>(<span class="ruby-value str">&quot;BYWEEKNO&quot;</span>, <span class="ruby-identifier">value</span>)
180
+ <span class="ruby-ivar">@by_list</span>[<span class="ruby-identifier">:bymonth</span>] = <span class="ruby-identifier">parse_int_list</span>(<span class="ruby-value str">&quot;BYMONTH&quot;</span>, <span class="ruby-identifier">value</span>)
181
+ <span class="ruby-ivar">@by_list</span>[<span class="ruby-identifier">:bysetpos</span>] = <span class="ruby-identifier">parse_int_list</span>(<span class="ruby-value str">&quot;BYSETPOS&quot;</span>, <span class="ruby-identifier">value</span>)
182
+ <span class="ruby-ivar">@wkst</span> = <span class="ruby-identifier">parse_wkstart</span>(<span class="ruby-identifier">value</span>)
183
+ <span class="ruby-keyword kw">end</span>
184
+ </pre>
185
+ </div>
186
+ </div>
187
+ </div>
188
+
189
+ <h3 class="section-bar">Public Instance methods</h3>
190
+
191
+ <div id="method-M000044" class="method-detail">
192
+ <a name="M000044"></a>
193
+
194
+ <div class="method-heading">
195
+ <a href="#M000044" class="method-signature">
196
+ <span class="method-name">occurrences_of_event_starting</span><span class="method-args">(event, datetime)</span>
197
+ </a>
198
+ </div>
199
+
200
+ <div class="method-description">
201
+ <p>
202
+ TODO: Incomplete
203
+ </p>
204
+ <p><a class="source-toggle" href="#"
205
+ onclick="toggleCode('M000044-source');return false;">[Source]</a></p>
206
+ <div class="method-source-code" id="M000044-source">
207
+ <pre>
208
+ <span class="ruby-comment cmt"># File lib/icalendar/rrule.rb, line 123</span>
209
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">occurrences_of_event_starting</span>(<span class="ruby-identifier">event</span>, <span class="ruby-identifier">datetime</span>)
210
+ <span class="ruby-identifier">initial_start</span> = <span class="ruby-identifier">event</span>.<span class="ruby-identifier">dtstart</span>
211
+ (<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-ivar">@count</span>).<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">day_offset</span><span class="ruby-operator">|</span>
212
+ <span class="ruby-identifier">occurrence</span> = <span class="ruby-identifier">event</span>.<span class="ruby-identifier">clone</span>
213
+ <span class="ruby-identifier">occurrence</span>.<span class="ruby-identifier">dtstart</span> = <span class="ruby-identifier">initial_start</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">day_offset</span>
214
+ <span class="ruby-identifier">occurrence</span>.<span class="ruby-identifier">clone</span>
215
+ }
216
+ <span class="ruby-keyword kw">end</span>
217
+ </pre>
218
+ </div>
219
+ </div>
220
+ </div>
221
+
222
+ <div id="method-M000037" class="method-detail">
223
+ <a name="M000037"></a>
224
+
225
+ <div class="method-heading">
226
+ <a href="#M000037" class="method-signature">
227
+ <span class="method-name">orig_value</span><span class="method-args">()</span>
228
+ </a>
229
+ </div>
230
+
231
+ <div class="method-description">
232
+ <p>
233
+ Returns the original pre-parsed RRULE value.
234
+ </p>
235
+ <p><a class="source-toggle" href="#"
236
+ onclick="toggleCode('M000037-source');return false;">[Source]</a></p>
237
+ <div class="method-source-code" id="M000037-source">
238
+ <pre>
239
+ <span class="ruby-comment cmt"># File lib/icalendar/rrule.rb, line 64</span>
240
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">orig_value</span>
241
+ <span class="ruby-ivar">@value</span>
242
+ <span class="ruby-keyword kw">end</span>
243
+ </pre>
244
+ </div>
245
+ </div>
246
+ </div>
247
+
248
+ <div id="method-M000039" class="method-detail">
249
+ <a name="M000039"></a>
250
+
251
+ <div class="method-heading">
252
+ <a href="#M000039" class="method-signature">
253
+ <span class="method-name">parse_date_val</span><span class="method-args">(name, string)</span>
254
+ </a>
255
+ </div>
256
+
257
+ <div class="method-description">
258
+ <p><a class="source-toggle" href="#"
259
+ onclick="toggleCode('M000039-source');return false;">[Source]</a></p>
260
+ <div class="method-source-code" id="M000039-source">
261
+ <pre>
262
+ <span class="ruby-comment cmt"># File lib/icalendar/rrule.rb, line 80</span>
263
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_date_val</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">string</span>)
264
+ <span class="ruby-identifier">match</span> = <span class="ruby-identifier">string</span>.<span class="ruby-identifier">match</span>(<span class="ruby-node">/;#{name}=(.*?)(;|$)/</span>)
265
+ <span class="ruby-identifier">match</span> <span class="ruby-value">? </span><span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">match</span>[<span class="ruby-value">1</span>]) <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
266
+ <span class="ruby-keyword kw">end</span>
267
+ </pre>
268
+ </div>
269
+ </div>
270
+ </div>
271
+
272
+ <div id="method-M000041" class="method-detail">
273
+ <a name="M000041"></a>
274
+
275
+ <div class="method-heading">
276
+ <a href="#M000041" class="method-signature">
277
+ <span class="method-name">parse_int_list</span><span class="method-args">(name, string)</span>
278
+ </a>
279
+ </div>
280
+
281
+ <div class="method-description">
282
+ <p><a class="source-toggle" href="#"
283
+ onclick="toggleCode('M000041-source');return false;">[Source]</a></p>
284
+ <div class="method-source-code" id="M000041-source">
285
+ <pre>
286
+ <span class="ruby-comment cmt"># File lib/icalendar/rrule.rb, line 90</span>
287
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_int_list</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">string</span>)
288
+ <span class="ruby-identifier">match</span> = <span class="ruby-identifier">string</span>.<span class="ruby-identifier">match</span>(<span class="ruby-node">/;#{name}=([+-]?.*?)(;|$)/</span>)
289
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span>
290
+ <span class="ruby-identifier">match</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;,&quot;</span>).<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">int</span><span class="ruby-operator">|</span> <span class="ruby-identifier">int</span>.<span class="ruby-identifier">to_i</span>}
291
+ <span class="ruby-keyword kw">else</span>
292
+ <span class="ruby-keyword kw">nil</span>
293
+ <span class="ruby-keyword kw">end</span>
294
+ <span class="ruby-keyword kw">end</span>
295
+ </pre>
296
+ </div>
297
+ </div>
298
+ </div>
299
+
300
+ <div id="method-M000040" class="method-detail">
301
+ <a name="M000040"></a>
302
+
303
+ <div class="method-heading">
304
+ <a href="#M000040" class="method-signature">
305
+ <span class="method-name">parse_int_val</span><span class="method-args">(name, string)</span>
306
+ </a>
307
+ </div>
308
+
309
+ <div class="method-description">
310
+ <p><a class="source-toggle" href="#"
311
+ onclick="toggleCode('M000040-source');return false;">[Source]</a></p>
312
+ <div class="method-source-code" id="M000040-source">
313
+ <pre>
314
+ <span class="ruby-comment cmt"># File lib/icalendar/rrule.rb, line 85</span>
315
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_int_val</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">string</span>)
316
+ <span class="ruby-identifier">match</span> = <span class="ruby-identifier">string</span>.<span class="ruby-identifier">match</span>(<span class="ruby-node">/;#{name}=(\d+)(;|$)/</span>)
317
+ <span class="ruby-identifier">match</span> <span class="ruby-value">? </span><span class="ruby-identifier">match</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">to_i</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
318
+ <span class="ruby-keyword kw">end</span>
319
+ </pre>
320
+ </div>
321
+ </div>
322
+ </div>
323
+
324
+ <div id="method-M000042" class="method-detail">
325
+ <a name="M000042"></a>
326
+
327
+ <div class="method-heading">
328
+ <a href="#M000042" class="method-signature">
329
+ <span class="method-name">parse_weekday_list</span><span class="method-args">(name, string)</span>
330
+ </a>
331
+ </div>
332
+
333
+ <div class="method-description">
334
+ <p><a class="source-toggle" href="#"
335
+ onclick="toggleCode('M000042-source');return false;">[Source]</a></p>
336
+ <div class="method-source-code" id="M000042-source">
337
+ <pre>
338
+ <span class="ruby-comment cmt"># File lib/icalendar/rrule.rb, line 99</span>
339
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_weekday_list</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">string</span>)
340
+ <span class="ruby-identifier">match</span> = <span class="ruby-identifier">string</span>.<span class="ruby-identifier">match</span>(<span class="ruby-node">/;#{name}=(.*?)(;|$)/</span>)
341
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span>
342
+ <span class="ruby-identifier">return_array</span> = <span class="ruby-identifier">match</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;,&quot;</span>).<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">weekday</span><span class="ruby-operator">|</span>
343
+ <span class="ruby-identifier">wd_match</span> = <span class="ruby-identifier">weekday</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/([+-]?\d*)(SU|MO|TU|WE|TH|FR|SA)/</span>)
344
+ <span class="ruby-constant">Weekday</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">wd_match</span>[<span class="ruby-value">2</span>], <span class="ruby-identifier">wd_match</span>[<span class="ruby-value">1</span>])
345
+ }
346
+ <span class="ruby-identifier">return_array</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">you_are_last</span>
347
+ <span class="ruby-keyword kw">else</span>
348
+ <span class="ruby-keyword kw">nil</span>
349
+ <span class="ruby-keyword kw">end</span>
350
+ <span class="ruby-identifier">return_array</span>
351
+ <span class="ruby-keyword kw">end</span>
352
+ </pre>
353
+ </div>
354
+ </div>
355
+ </div>
356
+
357
+ <div id="method-M000043" class="method-detail">
358
+ <a name="M000043"></a>
359
+
360
+ <div class="method-heading">
361
+ <a href="#M000043" class="method-signature">
362
+ <span class="method-name">parse_wkstart</span><span class="method-args">(string)</span>
363
+ </a>
364
+ </div>
365
+
366
+ <div class="method-description">
367
+ <p><a class="source-toggle" href="#"
368
+ onclick="toggleCode('M000043-source');return false;">[Source]</a></p>
369
+ <div class="method-source-code" id="M000043-source">
370
+ <pre>
371
+ <span class="ruby-comment cmt"># File lib/icalendar/rrule.rb, line 113</span>
372
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_wkstart</span>(<span class="ruby-identifier">string</span>)
373
+ <span class="ruby-identifier">match</span> = <span class="ruby-identifier">string</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/;WKST=(SU|MO|TU|WE|TH|FR|SA)(;|$)/</span>)
374
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span>
375
+ <span class="ruby-identifier">match</span>[<span class="ruby-value">1</span>]
376
+ <span class="ruby-keyword kw">else</span>
377
+ <span class="ruby-keyword kw">nil</span>
378
+ <span class="ruby-keyword kw">end</span>
379
+ <span class="ruby-keyword kw">end</span>
380
+ </pre>
381
+ </div>
382
+ </div>
383
+ </div>
384
+
385
+ <div id="method-M000038" class="method-detail">
386
+ <a name="M000038"></a>
387
+
388
+ <div class="method-heading">
389
+ <a href="#M000038" class="method-signature">
390
+ <span class="method-name">to_ical</span><span class="method-args">()</span>
391
+ </a>
392
+ </div>
393
+
394
+ <div class="method-description">
395
+ <p><a class="source-toggle" href="#"
396
+ onclick="toggleCode('M000038-source');return false;">[Source]</a></p>
397
+ <div class="method-source-code" id="M000038-source">
398
+ <pre>
399
+ <span class="ruby-comment cmt"># File lib/icalendar/rrule.rb, line 68</span>
400
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ical</span>
401
+ <span class="ruby-identifier">result</span> = [<span class="ruby-node">&quot;FREQ=#{@frequency}&quot;</span>]
402
+ <span class="ruby-identifier">result</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;;UNTIL=#{@until.to_ical}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@until</span>
403
+ <span class="ruby-identifier">result</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;;COUNT=#{@count}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@count</span>
404
+ <span class="ruby-identifier">result</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;;INTERVAL=#{@interval}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@interval</span>
405
+ <span class="ruby-ivar">@by_list</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
406
+ <span class="ruby-identifier">result</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;;#{key.to_s.upcase}=#{value}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value</span>
407
+ <span class="ruby-keyword kw">end</span>
408
+ <span class="ruby-identifier">result</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;;WKST=#{@wkst}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@wkst</span>
409
+ <span class="ruby-identifier">result</span>.<span class="ruby-identifier">join</span>
410
+ <span class="ruby-keyword kw">end</span>
411
+ </pre>
412
+ </div>
413
+ </div>
414
+ </div>
415
+
416
+
417
+ </div>
418
+
419
+
420
+ </div>
421
+
422
+
423
+ <div id="validator-badges">
424
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
425
+ </div>
426
+
427
+ </body>
428
+ </html>
@@ -0,0 +1,199 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Icalendar::RRule::Weekday</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Icalendar::RRule::Weekday</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../files/lib/icalendar/rrule_rb.html">
59
+ lib/icalendar/rrule.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ <a href="../../Object.html">
69
+ Object
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+
84
+
85
+ </div>
86
+
87
+ <div id="method-list">
88
+ <h3 class="section-bar">Methods</h3>
89
+
90
+ <div class="name-list">
91
+ <a href="#M000045">new</a>&nbsp;&nbsp;
92
+ <a href="#M000046">to_s</a>&nbsp;&nbsp;
93
+ <a href="#M000047">you_are_last</a>&nbsp;&nbsp;
94
+ </div>
95
+ </div>
96
+
97
+ </div>
98
+
99
+
100
+ <!-- if includes -->
101
+
102
+ <div id="section">
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+ <!-- if method_list -->
112
+ <div id="methods">
113
+ <h3 class="section-bar">Public Class methods</h3>
114
+
115
+ <div id="method-M000045" class="method-detail">
116
+ <a name="M000045"></a>
117
+
118
+ <div class="method-heading">
119
+ <a href="#M000045" class="method-signature">
120
+ <span class="method-name">new</span><span class="method-args">(day, position)</span>
121
+ </a>
122
+ </div>
123
+
124
+ <div class="method-description">
125
+ <p><a class="source-toggle" href="#"
126
+ onclick="toggleCode('M000045-source');return false;">[Source]</a></p>
127
+ <div class="method-source-code" id="M000045-source">
128
+ <pre>
129
+ <span class="ruby-comment cmt"># File lib/icalendar/rrule.rb, line 28</span>
130
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">day</span>, <span class="ruby-identifier">position</span>)
131
+ <span class="ruby-ivar">@day</span>, <span class="ruby-ivar">@position</span> = <span class="ruby-identifier">day</span>, <span class="ruby-identifier">position</span>
132
+ <span class="ruby-ivar">@last</span> = <span class="ruby-keyword kw">false</span>
133
+ <span class="ruby-keyword kw">end</span>
134
+ </pre>
135
+ </div>
136
+ </div>
137
+ </div>
138
+
139
+ <h3 class="section-bar">Public Instance methods</h3>
140
+
141
+ <div id="method-M000046" class="method-detail">
142
+ <a name="M000046"></a>
143
+
144
+ <div class="method-heading">
145
+ <a href="#M000046" class="method-signature">
146
+ <span class="method-name">to_s</span><span class="method-args">()</span>
147
+ </a>
148
+ </div>
149
+
150
+ <div class="method-description">
151
+ <p><a class="source-toggle" href="#"
152
+ onclick="toggleCode('M000046-source');return false;">[Source]</a></p>
153
+ <div class="method-source-code" id="M000046-source">
154
+ <pre>
155
+ <span class="ruby-comment cmt"># File lib/icalendar/rrule.rb, line 33</span>
156
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
157
+ <span class="ruby-node">&quot;#{@position}#{@day}#{ &quot;,&quot; unless @last }&quot;</span>
158
+ <span class="ruby-keyword kw">end</span>
159
+ </pre>
160
+ </div>
161
+ </div>
162
+ </div>
163
+
164
+ <div id="method-M000047" class="method-detail">
165
+ <a name="M000047"></a>
166
+
167
+ <div class="method-heading">
168
+ <a href="#M000047" class="method-signature">
169
+ <span class="method-name">you_are_last</span><span class="method-args">()</span>
170
+ </a>
171
+ </div>
172
+
173
+ <div class="method-description">
174
+ <p><a class="source-toggle" href="#"
175
+ onclick="toggleCode('M000047-source');return false;">[Source]</a></p>
176
+ <div class="method-source-code" id="M000047-source">
177
+ <pre>
178
+ <span class="ruby-comment cmt"># File lib/icalendar/rrule.rb, line 37</span>
179
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">you_are_last</span>()
180
+ <span class="ruby-ivar">@last</span> = <span class="ruby-keyword kw">true</span>
181
+ <span class="ruby-keyword kw">end</span>
182
+ </pre>
183
+ </div>
184
+ </div>
185
+ </div>
186
+
187
+
188
+ </div>
189
+
190
+
191
+ </div>
192
+
193
+
194
+ <div id="validator-badges">
195
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
196
+ </div>
197
+
198
+ </body>
199
+ </html>