icalendar 0.95

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. data/COPYING +56 -0
  2. data/GPL +340 -0
  3. data/README +121 -0
  4. data/Rakefile +101 -0
  5. data/docs/api/classes/Array.html +146 -0
  6. data/docs/api/classes/Date.html +157 -0
  7. data/docs/api/classes/DateTime.html +178 -0
  8. data/docs/api/classes/Fixnum.html +146 -0
  9. data/docs/api/classes/Float.html +146 -0
  10. data/docs/api/classes/Icalendar/Alarm.html +184 -0
  11. data/docs/api/classes/Icalendar/Base.html +118 -0
  12. data/docs/api/classes/Icalendar/Calendar.html +411 -0
  13. data/docs/api/classes/Icalendar/Component.html +306 -0
  14. data/docs/api/classes/Icalendar/DateProp.html +187 -0
  15. data/docs/api/classes/Icalendar/DateProp/ClassMethods.html +195 -0
  16. data/docs/api/classes/Icalendar/Event.html +202 -0
  17. data/docs/api/classes/Icalendar/Freebusy.html +157 -0
  18. data/docs/api/classes/Icalendar/InvalidComponentClass.html +117 -0
  19. data/docs/api/classes/Icalendar/InvalidPropertyValue.html +117 -0
  20. data/docs/api/classes/Icalendar/Journal.html +190 -0
  21. data/docs/api/classes/Icalendar/Parameter.html +166 -0
  22. data/docs/api/classes/Icalendar/Parser.html +447 -0
  23. data/docs/api/classes/Icalendar/Timezone.html +197 -0
  24. data/docs/api/classes/Icalendar/Todo.html +199 -0
  25. data/docs/api/classes/String.html +160 -0
  26. data/docs/api/classes/Time.html +161 -0
  27. data/docs/api/created.rid +1 -0
  28. data/docs/api/files/COPYING.html +163 -0
  29. data/docs/api/files/GPL.html +531 -0
  30. data/docs/api/files/README.html +241 -0
  31. data/docs/api/files/lib/icalendar/base_rb.html +108 -0
  32. data/docs/api/files/lib/icalendar/calendar_rb.html +101 -0
  33. data/docs/api/files/lib/icalendar/component/alarm_rb.html +101 -0
  34. data/docs/api/files/lib/icalendar/component/event_rb.html +101 -0
  35. data/docs/api/files/lib/icalendar/component/freebusy_rb.html +101 -0
  36. data/docs/api/files/lib/icalendar/component/journal_rb.html +101 -0
  37. data/docs/api/files/lib/icalendar/component/timezone_rb.html +101 -0
  38. data/docs/api/files/lib/icalendar/component/todo_rb.html +101 -0
  39. data/docs/api/files/lib/icalendar/component_rb.html +101 -0
  40. data/docs/api/files/lib/icalendar/conversions_rb.html +108 -0
  41. data/docs/api/files/lib/icalendar/helpers_rb.html +101 -0
  42. data/docs/api/files/lib/icalendar/parameter_rb.html +101 -0
  43. data/docs/api/files/lib/icalendar/parser_rb.html +109 -0
  44. data/docs/api/files/lib/icalendar_rb.html +118 -0
  45. data/docs/api/fr_class_index.html +48 -0
  46. data/docs/api/fr_file_index.html +43 -0
  47. data/docs/api/fr_method_index.html +63 -0
  48. data/docs/api/index.html +24 -0
  49. data/docs/api/rdoc-style.css +208 -0
  50. data/docs/examples/create_cal.rb +40 -0
  51. data/docs/examples/parse_cal.rb +19 -0
  52. data/docs/examples/single_event.ics +18 -0
  53. data/docs/rfcs/rfc2425.pdf +0 -0
  54. data/docs/rfcs/rfc2426.pdf +0 -0
  55. data/docs/rfcs/rfc2445.pdf +0 -0
  56. data/docs/rfcs/rfc2446.pdf +0 -0
  57. data/docs/rfcs/rfc2447.pdf +0 -0
  58. data/docs/rfcs/rfc3283.txt +738 -0
  59. data/lib/icalendar.rb +27 -0
  60. data/lib/icalendar/#helpers.rb# +92 -0
  61. data/lib/icalendar/base.rb +31 -0
  62. data/lib/icalendar/calendar.rb +112 -0
  63. data/lib/icalendar/component.rb +253 -0
  64. data/lib/icalendar/component/alarm.rb +35 -0
  65. data/lib/icalendar/component/event.rb +68 -0
  66. data/lib/icalendar/component/freebusy.rb +35 -0
  67. data/lib/icalendar/component/journal.rb +61 -0
  68. data/lib/icalendar/component/timezone.rb +43 -0
  69. data/lib/icalendar/component/todo.rb +65 -0
  70. data/lib/icalendar/conversions.rb +115 -0
  71. data/lib/icalendar/helpers.rb +109 -0
  72. data/lib/icalendar/parameter.rb +33 -0
  73. data/lib/icalendar/parser.rb +395 -0
  74. data/test/calendar_test.rb +46 -0
  75. data/test/component/event_test.rb +47 -0
  76. data/test/component_test.rb +74 -0
  77. data/test/parser_test.rb +83 -0
  78. data/test/property_helpers.rb +35 -0
  79. data/test/simplecal.ics +119 -0
  80. data/test/single_event.ics +23 -0
  81. metadata +135 -0
@@ -0,0 +1,118 @@
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::Base</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::Base</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/icalendar/base_rb.html">
59
+ lib/icalendar/base.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
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+ <div id="description">
82
+ <p>
83
+ This class serves as the base class for just about everything in the
84
+ library so that the logging system can be configured in one place.
85
+ </p>
86
+
87
+ </div>
88
+
89
+
90
+ </div>
91
+
92
+
93
+ </div>
94
+
95
+
96
+ <!-- if includes -->
97
+
98
+ <div id="section">
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+ <!-- if method_list -->
108
+
109
+
110
+ </div>
111
+
112
+
113
+ <div id="validator-badges">
114
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
115
+ </div>
116
+
117
+ </body>
118
+ </html>
@@ -0,0 +1,411 @@
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::Calendar</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::Calendar</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/icalendar/calendar_rb.html">
59
+ lib/icalendar/calendar.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="Component.html">
69
+ Component
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="#M000034">add</a>&nbsp;&nbsp;
92
+ <a href="#M000029">event</a>&nbsp;&nbsp;
93
+ <a href="#M000032">freebusy</a>&nbsp;&nbsp;
94
+ <a href="#M000031">journal</a>&nbsp;&nbsp;
95
+ <a href="#M000028">new</a>&nbsp;&nbsp;
96
+ <a href="#M000033">timezone</a>&nbsp;&nbsp;
97
+ <a href="#M000035">to_ical</a>&nbsp;&nbsp;
98
+ <a href="#M000030">todo</a>&nbsp;&nbsp;
99
+ </div>
100
+ </div>
101
+
102
+ </div>
103
+
104
+
105
+ <!-- if includes -->
106
+
107
+ <div id="section">
108
+
109
+
110
+
111
+
112
+
113
+ <div id="attribute-list">
114
+ <h3 class="section-bar">Attributes</h3>
115
+
116
+ <div class="name-list">
117
+ <table>
118
+ <tr class="top-aligned-row context-row">
119
+ <td class="context-item-name">events</td>
120
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
121
+ <td class="context-item-desc"></td>
122
+ </tr>
123
+ <tr class="top-aligned-row context-row">
124
+ <td class="context-item-name">freebusys</td>
125
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
126
+ <td class="context-item-desc"></td>
127
+ </tr>
128
+ <tr class="top-aligned-row context-row">
129
+ <td class="context-item-name">journals</td>
130
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
131
+ <td class="context-item-desc"></td>
132
+ </tr>
133
+ <tr class="top-aligned-row context-row">
134
+ <td class="context-item-name">timezones</td>
135
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
136
+ <td class="context-item-desc"></td>
137
+ </tr>
138
+ <tr class="top-aligned-row context-row">
139
+ <td class="context-item-name">todos</td>
140
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
141
+ <td class="context-item-desc"></td>
142
+ </tr>
143
+ </table>
144
+ </div>
145
+ </div>
146
+
147
+
148
+
149
+ <!-- if method_list -->
150
+ <div id="methods">
151
+ <h3 class="section-bar">Public Class methods</h3>
152
+
153
+ <div id="method-M000028" class="method-detail">
154
+ <a name="M000028"></a>
155
+
156
+ <div class="method-heading">
157
+ <a href="#M000028" class="method-signature">
158
+ <span class="method-name">new</span><span class="method-args">()</span>
159
+ </a>
160
+ </div>
161
+
162
+ <div class="method-description">
163
+ <p><a class="source-toggle" href="#"
164
+ onclick="toggleCode('M000028-source');return false;">[Source]</a></p>
165
+ <div class="method-source-code" id="M000028-source">
166
+ <pre>
167
+ <span class="ruby-comment cmt"># File lib/icalendar/calendar.rb, line 20</span>
168
+ 20: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>()
169
+ 21: <span class="ruby-keyword kw">super</span>(<span class="ruby-value str">&quot;VCALENDAR&quot;</span>)
170
+ 22: <span class="ruby-ivar">@properties</span> = {}
171
+ 23: <span class="ruby-ivar">@property_params</span> = {}
172
+ 24:
173
+ 25: <span class="ruby-ivar">@events</span> = []
174
+ 26: <span class="ruby-ivar">@todos</span> = []
175
+ 27: <span class="ruby-ivar">@journals</span> = []
176
+ 28: <span class="ruby-ivar">@freebusys</span> = []
177
+ 29: <span class="ruby-ivar">@timezones</span> = []
178
+ 30:
179
+ 31: <span class="ruby-comment cmt"># Set some defaults</span>
180
+ 32: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">calscale</span> = <span class="ruby-value str">&quot;GREGORIAN&quot;</span> <span class="ruby-comment cmt"># Who knows, but this is the only one in the spec.</span>
181
+ 33: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">prodid</span> = <span class="ruby-value str">&quot;iCalendar-Ruby&quot;</span> <span class="ruby-comment cmt"># Current product... Should be overwritten</span>
182
+ 34: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">version</span> = <span class="ruby-value str">&quot;2.0&quot;</span> <span class="ruby-comment cmt"># Version of the specification</span>
183
+ 35:
184
+ 36: <span class="ruby-keyword kw">end</span>
185
+ </pre>
186
+ </div>
187
+ </div>
188
+ </div>
189
+
190
+ <h3 class="section-bar">Public Instance methods</h3>
191
+
192
+ <div id="method-M000034" class="method-detail">
193
+ <a name="M000034"></a>
194
+
195
+ <div class="method-heading">
196
+ <a href="#M000034" class="method-signature">
197
+ <span class="method-name">add</span><span class="method-args">(component)</span>
198
+ </a>
199
+ </div>
200
+
201
+ <div class="method-description">
202
+ <p>
203
+ TODO: Implement the rest of these ^ methods for todo etc&#8230;
204
+ </p>
205
+ <p><a class="source-toggle" href="#"
206
+ onclick="toggleCode('M000034-source');return false;">[Source]</a></p>
207
+ <div class="method-source-code" id="M000034-source">
208
+ <pre>
209
+ <span class="ruby-comment cmt"># File lib/icalendar/calendar.rb, line 86</span>
210
+ 86: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add</span>(<span class="ruby-identifier">component</span>)
211
+ 87: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">component</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Event</span>
212
+ 88: <span class="ruby-ivar">@events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">component</span>
213
+ 89: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">component</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Todo</span>
214
+ 90: <span class="ruby-ivar">@todos</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">component</span>
215
+ 91: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">component</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Journal</span>
216
+ 92: <span class="ruby-ivar">@journals</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">component</span>
217
+ 93: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">component</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Freebusy</span>
218
+ 94: <span class="ruby-ivar">@freebusys</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">component</span>
219
+ 95: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">component</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Timezone</span>
220
+ 96: <span class="ruby-ivar">@timezones</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">component</span>
221
+ 97: <span class="ruby-keyword kw">else</span>
222
+ 98: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidComponentClass</span>
223
+ 99: <span class="ruby-keyword kw">end</span>
224
+ 100: <span class="ruby-keyword kw">end</span>
225
+ </pre>
226
+ </div>
227
+ </div>
228
+ </div>
229
+
230
+ <div id="method-M000029" class="method-detail">
231
+ <a name="M000029"></a>
232
+
233
+ <div class="method-heading">
234
+ <a href="#M000029" class="method-signature">
235
+ <span class="method-name">event</span><span class="method-args">(&amp;block)</span>
236
+ </a>
237
+ </div>
238
+
239
+ <div class="method-description">
240
+ <p><a class="source-toggle" href="#"
241
+ onclick="toggleCode('M000029-source');return false;">[Source]</a></p>
242
+ <div class="method-source-code" id="M000029-source">
243
+ <pre>
244
+ <span class="ruby-comment cmt"># File lib/icalendar/calendar.rb, line 38</span>
245
+ 38: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">event</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
246
+ 39: <span class="ruby-identifier">e</span> = <span class="ruby-constant">Event</span>.<span class="ruby-identifier">new</span>
247
+ 40: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">add</span> <span class="ruby-identifier">e</span>
248
+ 41:
249
+ 42: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">instance_eval</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span>
250
+ 43:
251
+ 44: <span class="ruby-identifier">e</span>
252
+ 45: <span class="ruby-keyword kw">end</span>
253
+ </pre>
254
+ </div>
255
+ </div>
256
+ </div>
257
+
258
+ <div id="method-M000032" class="method-detail">
259
+ <a name="M000032"></a>
260
+
261
+ <div class="method-heading">
262
+ <a href="#M000032" class="method-signature">
263
+ <span class="method-name">freebusy</span><span class="method-args">(&amp;block)</span>
264
+ </a>
265
+ </div>
266
+
267
+ <div class="method-description">
268
+ <p><a class="source-toggle" href="#"
269
+ onclick="toggleCode('M000032-source');return false;">[Source]</a></p>
270
+ <div class="method-source-code" id="M000032-source">
271
+ <pre>
272
+ <span class="ruby-comment cmt"># File lib/icalendar/calendar.rb, line 65</span>
273
+ 65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">freebusy</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
274
+ 66: <span class="ruby-identifier">e</span> = <span class="ruby-constant">Freebusy</span>.<span class="ruby-identifier">new</span>
275
+ 67: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">add</span> <span class="ruby-identifier">e</span>
276
+ 68:
277
+ 69: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">instance_eval</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span>
278
+ 70:
279
+ 71: <span class="ruby-identifier">e</span>
280
+ 72: <span class="ruby-keyword kw">end</span>
281
+ </pre>
282
+ </div>
283
+ </div>
284
+ </div>
285
+
286
+ <div id="method-M000031" class="method-detail">
287
+ <a name="M000031"></a>
288
+
289
+ <div class="method-heading">
290
+ <a href="#M000031" class="method-signature">
291
+ <span class="method-name">journal</span><span class="method-args">(&amp;block)</span>
292
+ </a>
293
+ </div>
294
+
295
+ <div class="method-description">
296
+ <p><a class="source-toggle" href="#"
297
+ onclick="toggleCode('M000031-source');return false;">[Source]</a></p>
298
+ <div class="method-source-code" id="M000031-source">
299
+ <pre>
300
+ <span class="ruby-comment cmt"># File lib/icalendar/calendar.rb, line 56</span>
301
+ 56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">journal</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
302
+ 57: <span class="ruby-identifier">e</span> = <span class="ruby-constant">Journal</span>.<span class="ruby-identifier">new</span>
303
+ 58: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">add</span> <span class="ruby-identifier">e</span>
304
+ 59:
305
+ 60: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">instance_eval</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span>
306
+ 61:
307
+ 62: <span class="ruby-identifier">e</span>
308
+ 63: <span class="ruby-keyword kw">end</span>
309
+ </pre>
310
+ </div>
311
+ </div>
312
+ </div>
313
+
314
+ <div id="method-M000033" class="method-detail">
315
+ <a name="M000033"></a>
316
+
317
+ <div class="method-heading">
318
+ <a href="#M000033" class="method-signature">
319
+ <span class="method-name">timezone</span><span class="method-args">(&amp;block)</span>
320
+ </a>
321
+ </div>
322
+
323
+ <div class="method-description">
324
+ <p><a class="source-toggle" href="#"
325
+ onclick="toggleCode('M000033-source');return false;">[Source]</a></p>
326
+ <div class="method-source-code" id="M000033-source">
327
+ <pre>
328
+ <span class="ruby-comment cmt"># File lib/icalendar/calendar.rb, line 74</span>
329
+ 74: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timezone</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
330
+ 75: <span class="ruby-identifier">e</span> = <span class="ruby-constant">Timezone</span>.<span class="ruby-identifier">new</span>
331
+ 76: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">add</span> <span class="ruby-identifier">e</span>
332
+ 77:
333
+ 78: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">instance_eval</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span>
334
+ 79:
335
+ 80: <span class="ruby-identifier">e</span>
336
+ 81: <span class="ruby-keyword kw">end</span>
337
+ </pre>
338
+ </div>
339
+ </div>
340
+ </div>
341
+
342
+ <div id="method-M000035" class="method-detail">
343
+ <a name="M000035"></a>
344
+
345
+ <div class="method-heading">
346
+ <a href="#M000035" class="method-signature">
347
+ <span class="method-name">to_ical</span><span class="method-args">()</span>
348
+ </a>
349
+ </div>
350
+
351
+ <div class="method-description">
352
+ <p><a class="source-toggle" href="#"
353
+ onclick="toggleCode('M000035-source');return false;">[Source]</a></p>
354
+ <div class="method-source-code" id="M000035-source">
355
+ <pre>
356
+ <span class="ruby-comment cmt"># File lib/icalendar/calendar.rb, line 102</span>
357
+ 102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ical</span>
358
+ 103: <span class="ruby-identifier">print_string</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
359
+ 104: <span class="ruby-ivar">@events</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">event</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">event</span>.<span class="ruby-identifier">to_ical</span> }
360
+ 105: <span class="ruby-ivar">@todos</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">todo</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">todo</span>.<span class="ruby-identifier">to_ical</span> }
361
+ 106: <span class="ruby-ivar">@journals</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">journal</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">journal</span>.<span class="ruby-identifier">to_ical</span> }
362
+ 107: <span class="ruby-ivar">@freebusys</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">freebusy</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">freebusy</span>.<span class="ruby-identifier">to_ical</span> }
363
+ 108: <span class="ruby-ivar">@timezones</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">timezone</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">timezone</span>.<span class="ruby-identifier">to_ical</span> }
364
+ 109: <span class="ruby-keyword kw">end</span>
365
+ 110: <span class="ruby-keyword kw">end</span>
366
+ </pre>
367
+ </div>
368
+ </div>
369
+ </div>
370
+
371
+ <div id="method-M000030" class="method-detail">
372
+ <a name="M000030"></a>
373
+
374
+ <div class="method-heading">
375
+ <a href="#M000030" class="method-signature">
376
+ <span class="method-name">todo</span><span class="method-args">(&amp;block)</span>
377
+ </a>
378
+ </div>
379
+
380
+ <div class="method-description">
381
+ <p><a class="source-toggle" href="#"
382
+ onclick="toggleCode('M000030-source');return false;">[Source]</a></p>
383
+ <div class="method-source-code" id="M000030-source">
384
+ <pre>
385
+ <span class="ruby-comment cmt"># File lib/icalendar/calendar.rb, line 47</span>
386
+ 47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">todo</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
387
+ 48: <span class="ruby-identifier">e</span> = <span class="ruby-constant">Todo</span>.<span class="ruby-identifier">new</span>
388
+ 49: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">add</span> <span class="ruby-identifier">e</span>
389
+ 50:
390
+ 51: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">instance_eval</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span>
391
+ 52:
392
+ 53: <span class="ruby-identifier">e</span>
393
+ 54: <span class="ruby-keyword kw">end</span>
394
+ </pre>
395
+ </div>
396
+ </div>
397
+ </div>
398
+
399
+
400
+ </div>
401
+
402
+
403
+ </div>
404
+
405
+
406
+ <div id="validator-badges">
407
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
408
+ </div>
409
+
410
+ </body>
411
+ </html>