icalendar 0.96.4 → 0.97

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 (176) hide show
  1. data/README +66 -53
  2. data/Rakefile +33 -24
  3. data/docs/api/classes/Array.html +9 -11
  4. data/docs/api/classes/Array.src/M000002.html +18 -0
  5. data/docs/api/classes/Date.html +2 -22
  6. data/docs/api/classes/Date.src/M000004.html +29 -0
  7. data/docs/api/classes/DateTime.html +2 -43
  8. data/docs/api/classes/DateTime.src/M000005.html +50 -0
  9. data/docs/api/classes/Fixnum.html +2 -11
  10. data/docs/api/classes/Fixnum.src/M000011.html +18 -0
  11. data/docs/api/classes/Float.html +2 -11
  12. data/docs/api/classes/Float.src/M000003.html +18 -0
  13. data/docs/api/classes/HashAttrs.html +15 -60
  14. data/docs/api/classes/HashAttrs.src/M000068.html +26 -0
  15. data/docs/api/classes/HashAttrs.src/M000069.html +27 -0
  16. data/docs/api/classes/HashAttrs.src/M000070.html +19 -0
  17. data/docs/api/classes/Icalendar/Alarm.html +5 -15
  18. data/docs/api/classes/Icalendar/Alarm.src/M000020.html +22 -0
  19. data/docs/api/classes/Icalendar/Base.html +41 -0
  20. data/docs/api/classes/Icalendar/Base.src/M000022.html +18 -0
  21. data/docs/api/classes/Icalendar/Base.src/M000023.html +18 -0
  22. data/docs/api/classes/Icalendar/Calendar.html +116 -116
  23. data/docs/api/classes/Icalendar/Calendar.src/M000054.html +23 -0
  24. data/docs/api/classes/Icalendar/Calendar.src/M000055.html +23 -0
  25. data/docs/api/classes/Icalendar/Calendar.src/M000056.html +18 -0
  26. data/docs/api/classes/Icalendar/Calendar.src/M000057.html +23 -0
  27. data/docs/api/classes/Icalendar/Calendar.src/M000058.html +18 -0
  28. data/docs/api/classes/Icalendar/Calendar.src/M000059.html +23 -0
  29. data/docs/api/classes/Icalendar/Calendar.src/M000060.html +18 -0
  30. data/docs/api/classes/Icalendar/Calendar.src/M000061.html +23 -0
  31. data/docs/api/classes/Icalendar/Calendar.src/M000062.html +18 -0
  32. data/docs/api/classes/Icalendar/Calendar.src/M000063.html +23 -0
  33. data/docs/api/classes/Icalendar/Calendar.src/M000064.html +19 -0
  34. data/docs/api/classes/Icalendar/Component.html +200 -367
  35. data/docs/api/classes/Icalendar/Component.src/M000029.html +22 -0
  36. data/docs/api/classes/Icalendar/Component.src/M000030.html +24 -0
  37. data/docs/api/classes/Icalendar/Component.src/M000035.html +22 -0
  38. data/docs/api/classes/Icalendar/Component.src/M000040.html +18 -0
  39. data/docs/api/classes/Icalendar/Component.src/M000041.html +24 -0
  40. data/docs/api/classes/Icalendar/Component.src/M000042.html +28 -0
  41. data/docs/api/classes/Icalendar/Component.src/M000043.html +37 -0
  42. data/docs/api/classes/Icalendar/Component.src/M000044.html +37 -0
  43. data/docs/api/classes/Icalendar/Component.src/M000045.html +18 -0
  44. data/docs/api/classes/Icalendar/Component.src/M000046.html +18 -0
  45. data/docs/api/classes/Icalendar/Component.src/M000047.html +18 -0
  46. data/docs/api/classes/Icalendar/Component.src/M000048.html +26 -0
  47. data/docs/api/classes/Icalendar/Component.src/M000049.html +29 -0
  48. data/docs/api/classes/Icalendar/Component.src/M000050.html +22 -0
  49. data/docs/api/classes/Icalendar/DateProp.html +2 -12
  50. data/docs/api/classes/Icalendar/DateProp.src/M000013.html +19 -0
  51. data/docs/api/classes/Icalendar/DateProp/ClassMethods.html +2 -59
  52. data/docs/api/classes/Icalendar/DateProp/ClassMethods.src/M000014.html +66 -0
  53. data/docs/api/classes/Icalendar/Daylight.html +5 -14
  54. data/docs/api/classes/Icalendar/Daylight.src/M000051.html +18 -0
  55. data/docs/api/classes/Icalendar/Event.html +30 -37
  56. data/docs/api/classes/Icalendar/Event.src/M000052.html +23 -0
  57. data/docs/api/classes/Icalendar/Event.src/M000053.html +23 -0
  58. data/docs/api/classes/Icalendar/Freebusy.html +5 -14
  59. data/docs/api/classes/Icalendar/Freebusy.src/M000065.html +21 -0
  60. data/docs/api/classes/Icalendar/Geo.html +192 -0
  61. data/docs/api/classes/Icalendar/Geo.src/M000024.html +19 -0
  62. data/docs/api/classes/Icalendar/Geo.src/M000025.html +18 -0
  63. data/docs/api/classes/Icalendar/Journal.html +2 -11
  64. data/docs/api/classes/Icalendar/Journal.src/M000016.html +22 -0
  65. data/docs/api/classes/Icalendar/Parameter.html +5 -23
  66. data/docs/api/classes/Icalendar/Parameter.src/M000066.html +27 -0
  67. data/docs/api/classes/Icalendar/Parser.html +36 -212
  68. data/docs/api/classes/Icalendar/Parser.src/M000017.html +32 -0
  69. data/docs/api/classes/Icalendar/Parser.src/M000018.html +43 -0
  70. data/docs/api/classes/Icalendar/Parser.src/M000019.html +33 -0
  71. data/docs/api/classes/Icalendar/Standard.html +2 -11
  72. data/docs/api/classes/Icalendar/Standard.src/M000015.html +18 -0
  73. data/docs/api/classes/Icalendar/Timezone.html +16 -48
  74. data/docs/api/classes/Icalendar/Timezone.src/M000026.html +19 -0
  75. data/docs/api/classes/Icalendar/Timezone.src/M000027.html +22 -0
  76. data/docs/api/classes/Icalendar/Timezone.src/M000028.html +18 -0
  77. data/docs/api/classes/Icalendar/Todo.html +5 -14
  78. data/docs/api/classes/Icalendar/Todo.src/M000021.html +22 -0
  79. data/docs/api/classes/Object.html +10 -59
  80. data/docs/api/classes/Object.src/M000006.html +20 -0
  81. data/docs/api/classes/Object.src/M000007.html +18 -0
  82. data/docs/api/classes/Object.src/M000008.html +20 -0
  83. data/docs/api/classes/Object.src/M000009.html +18 -0
  84. data/docs/api/classes/Object.src/M000010.html +18 -0
  85. data/docs/api/classes/String.html +2 -11
  86. data/docs/api/classes/String.src/M000012.html +18 -0
  87. data/docs/api/classes/Time.html +2 -26
  88. data/docs/api/classes/Time.src/M000001.html +37 -0
  89. data/docs/api/classes/URI/Generic.html +5 -14
  90. data/docs/api/classes/URI/Generic.src/M000067.html +18 -0
  91. data/docs/api/created.rid +1 -1
  92. data/docs/api/files/COPYING.html +1 -1
  93. data/docs/api/files/GPL.html +1 -1
  94. data/docs/api/files/README.html +76 -64
  95. data/docs/api/files/lib/hash_attrs_rb.html +1 -1
  96. data/docs/api/files/lib/icalendar/base_rb.html +1 -1
  97. data/docs/api/files/lib/icalendar/calendar_rb.html +1 -1
  98. data/docs/api/files/lib/icalendar/component/alarm_rb.html +1 -1
  99. data/docs/api/files/lib/icalendar/component/event_rb.html +1 -1
  100. data/docs/api/files/lib/icalendar/component/freebusy_rb.html +1 -1
  101. data/docs/api/files/lib/icalendar/component/journal_rb.html +1 -1
  102. data/docs/api/files/lib/icalendar/component/timezone_rb.html +1 -1
  103. data/docs/api/files/lib/icalendar/component/todo_rb.html +1 -1
  104. data/docs/api/files/lib/icalendar/component_rb.html +8 -1
  105. data/docs/api/files/lib/icalendar/conversions_rb.html +1 -1
  106. data/docs/api/files/lib/icalendar/helpers_rb.html +1 -1
  107. data/docs/api/files/lib/icalendar/parameter_rb.html +1 -1
  108. data/docs/api/files/lib/icalendar/parser_rb.html +2 -1
  109. data/docs/api/files/lib/icalendar_rb.html +1 -1
  110. data/docs/api/files/lib/meta_rb.html +1 -1
  111. data/docs/api/fr_class_index.html +1 -0
  112. data/docs/api/fr_method_index.html +57 -41
  113. data/docs/rfcs/itip_notes.txt +69 -0
  114. data/examples/create_cal.rb +33 -32
  115. data/examples/parse_cal.rb +2 -2
  116. data/lib/icalendar/base.rb +8 -0
  117. data/lib/icalendar/calendar.rb +32 -3
  118. data/lib/icalendar/component.rb +187 -113
  119. data/lib/icalendar/component/alarm.rb +3 -0
  120. data/lib/icalendar/component/event.rb +9 -3
  121. data/lib/icalendar/component/freebusy.rb +3 -0
  122. data/lib/icalendar/component/journal.rb +4 -0
  123. data/lib/icalendar/component/todo.rb +4 -0
  124. data/lib/icalendar/conversions.rb +7 -1
  125. data/lib/icalendar/parser.rb +68 -90
  126. data/test/calendar_test.rb +32 -8
  127. data/test/component/event_test.rb +4 -7
  128. data/test/component/todo_test.rb +13 -0
  129. data/test/component_test.rb +21 -34
  130. data/test/conversions_test.rb +66 -0
  131. data/test/coverage/-home-rosejn-projects-icalendar-lib-hash_attrs_rb.html +574 -0
  132. data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-base_rb.html +575 -0
  133. data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-calendar_rb.html +629 -0
  134. data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component-alarm_rb.html +581 -0
  135. data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component-event_rb.html +658 -0
  136. data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component-freebusy_rb.html +574 -0
  137. data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component-journal_rb.html +597 -0
  138. data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component-timezone_rb.html +625 -0
  139. data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component-todo_rb.html +600 -0
  140. data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component_rb.html +924 -0
  141. data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-conversions_rb.html +667 -0
  142. data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-parser_rb.html +938 -0
  143. data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar_rb.html +576 -0
  144. data/test/coverage/-home-rosejn-projects-icalendar-lib-meta_rb.html +572 -0
  145. data/test/coverage/calendar_test_rb.html +590 -0
  146. data/test/coverage/component_test_rb.html +602 -0
  147. data/test/coverage/index.html +1009 -0
  148. data/test/coverage/lib-hash_attrs_rb.html +574 -0
  149. data/test/coverage/lib-icalendar-base_rb.html +583 -0
  150. data/test/coverage/lib-icalendar-calendar_rb.html +631 -0
  151. data/test/coverage/lib-icalendar-component-alarm_rb.html +581 -0
  152. data/test/coverage/lib-icalendar-component-event_rb.html +661 -0
  153. data/test/coverage/lib-icalendar-component-freebusy_rb.html +576 -0
  154. data/test/coverage/lib-icalendar-component-journal_rb.html +599 -0
  155. data/test/coverage/lib-icalendar-component-timezone_rb.html +625 -0
  156. data/test/coverage/lib-icalendar-component-todo_rb.html +602 -0
  157. data/test/coverage/lib-icalendar-component_rb.html +941 -0
  158. data/test/coverage/lib-icalendar-conversions_rb.html +673 -0
  159. data/test/coverage/lib-icalendar-parser_rb.html +916 -0
  160. data/test/coverage/lib-icalendar_rb.html +576 -0
  161. data/test/coverage/lib-meta_rb.html +572 -0
  162. data/test/coverage/parameter_test_rb.html +569 -0
  163. data/test/coverage/parser_test_rb.html +623 -0
  164. data/test/coverage/test-calendar_test_rb.html +590 -0
  165. data/test/coverage/test-component-event_test_rb.html +584 -0
  166. data/test/coverage/test-component_test_rb.html +606 -0
  167. data/test/coverage/test-conversions_test_rb.html +603 -0
  168. data/test/coverage/test-parameter_test_rb.html +569 -0
  169. data/test/coverage/test-parser_test_rb.html +624 -0
  170. data/test/interactive.rb +3 -1
  171. data/test/life.ics +46 -1092
  172. data/test/parameter_test.rb +11 -2
  173. data/test/parser_test.rb +12 -11
  174. metadata +259 -126
  175. data/test/old_life.ics +0 -46
  176. data/test/rw.ics +0 -947
@@ -0,0 +1,20 @@
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>
7
+ <head>
8
+ <title>metaclass (Object)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/meta.rb, line 4</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">metaclass</span>
15
+ <span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>
16
+ <span class="ruby-keyword kw">self</span>
17
+ <span class="ruby-keyword kw">end</span>
18
+ <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -0,0 +1,18 @@
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>
7
+ <head>
8
+ <title>meta_eval (Object)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/meta.rb, line 11</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">meta_eval</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>
15
+ <span class="ruby-identifier">metaclass</span>.<span class="ruby-identifier">instance_eval</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,20 @@
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>
7
+ <head>
8
+ <title>meta_include (Object)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/meta.rb, line 17</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">meta_include</span> <span class="ruby-identifier">mod</span>
15
+ <span class="ruby-identifier">meta_eval</span> <span class="ruby-keyword kw">do</span>
16
+ <span class="ruby-identifier">include</span> <span class="ruby-identifier">mod</span>
17
+ <span class="ruby-keyword kw">end</span>
18
+ <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -0,0 +1,18 @@
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>
7
+ <head>
8
+ <title>meta_def (Object)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/meta.rb, line 24</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">meta_def</span> <span class="ruby-identifier">name</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>
15
+ <span class="ruby-identifier">meta_eval</span> { <span class="ruby-identifier">define_method</span> <span class="ruby-identifier">name</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span> }
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
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>
7
+ <head>
8
+ <title>class_def (Object)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/meta.rb, line 29</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">class_def</span> <span class="ruby-identifier">name</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>
15
+ <span class="ruby-identifier">class_eval</span> { <span class="ruby-identifier">define_method</span> <span class="ruby-identifier">name</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span> }
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -114,22 +114,13 @@
114
114
  <a name="M000012"></a>
115
115
 
116
116
  <div class="method-heading">
117
- <a href="#M000012" class="method-signature">
117
+ <a href="String.src/M000012.html" target="Code" class="method-signature"
118
+ onclick="popupCode('String.src/M000012.html');return false;">
118
119
  <span class="method-name">to_ical</span><span class="method-args">()</span>
119
120
  </a>
120
121
  </div>
121
122
 
122
123
  <div class="method-description">
123
- <p><a class="source-toggle" href="#"
124
- onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
125
- <div class="method-source-code" id="M000012-source">
126
- <pre>
127
- <span class="ruby-comment cmt"># File lib/icalendar/conversions.rb, line 22</span>
128
- 22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ical</span>
129
- 23: <span class="ruby-node">&quot;#{self.dump[1...-1]}&quot;</span>
130
- 24: <span class="ruby-keyword kw">end</span>
131
- </pre>
132
- </div>
133
124
  </div>
134
125
  </div>
135
126
 
@@ -0,0 +1,18 @@
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>
7
+ <head>
8
+ <title>to_ical (String)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/icalendar/conversions.rb, line 22</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ical</span>
15
+ <span class="ruby-node">&quot;#{self}&quot;</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -114,37 +114,13 @@
114
114
  <a name="M000001"></a>
115
115
 
116
116
  <div class="method-heading">
117
- <a href="#M000001" class="method-signature">
117
+ <a href="Time.src/M000001.html" target="Code" class="method-signature"
118
+ onclick="popupCode('Time.src/M000001.html');return false;">
118
119
  <span class="method-name">to_ical</span><span class="method-args">(utc = false)</span>
119
120
  </a>
120
121
  </div>
121
122
 
122
123
  <div class="method-description">
123
- <p><a class="source-toggle" href="#"
124
- onclick="toggleCode('M000001-source');return false;">[Source]</a></p>
125
- <div class="method-source-code" id="M000001-source">
126
- <pre>
127
- <span class="ruby-comment cmt"># File lib/icalendar/conversions.rb, line 109</span>
128
- 109: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ical</span>(<span class="ruby-identifier">utc</span> = <span class="ruby-keyword kw">false</span>)
129
- 110: <span class="ruby-comment cmt"># Double digit hour</span>
130
- 111: <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;0&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hour</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">9</span>
131
- 112: <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hour</span>.<span class="ruby-identifier">to_s</span>
132
- 113:
133
- 114: <span class="ruby-comment cmt"># Double digit minute</span>
134
- 115: <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;0&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">min</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">9</span>
135
- 116: <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">min</span>.<span class="ruby-identifier">to_s</span>
136
- 117:
137
- 118: <span class="ruby-comment cmt"># Double digit second</span>
138
- 119: <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;0&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">sec</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">9</span>
139
- 120: <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">sec</span>.<span class="ruby-identifier">to_s</span>
140
- 121:
141
- 122: <span class="ruby-comment cmt"># UTC time gets a Z suffix</span>
142
- 123: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">utc</span>
143
- 124: <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;Z&quot;</span>
144
- 125: <span class="ruby-keyword kw">end</span>
145
- 126: <span class="ruby-keyword kw">end</span>
146
- </pre>
147
- </div>
148
124
  </div>
149
125
  </div>
150
126
 
@@ -0,0 +1,37 @@
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>
7
+ <head>
8
+ <title>to_ical (Time)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/icalendar/conversions.rb, line 111</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ical</span>(<span class="ruby-identifier">utc</span> = <span class="ruby-keyword kw">false</span>)
15
+ <span class="ruby-identifier">s</span> = <span class="ruby-value str">&quot;&quot;</span>
16
+
17
+ <span class="ruby-comment cmt"># Double digit hour</span>
18
+ <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;0&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hour</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">9</span>
19
+ <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hour</span>.<span class="ruby-identifier">to_s</span>
20
+
21
+ <span class="ruby-comment cmt"># Double digit minute</span>
22
+ <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;0&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">min</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">9</span>
23
+ <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">min</span>.<span class="ruby-identifier">to_s</span>
24
+
25
+ <span class="ruby-comment cmt"># Double digit second</span>
26
+ <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;0&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">sec</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">9</span>
27
+ <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">sec</span>.<span class="ruby-identifier">to_s</span>
28
+
29
+ <span class="ruby-comment cmt"># UTC time gets a Z suffix</span>
30
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">utc</span>
31
+ <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;Z&quot;</span>
32
+ <span class="ruby-keyword kw">end</span>
33
+
34
+ <span class="ruby-identifier">s</span>
35
+ <span class="ruby-keyword kw">end</span></pre>
36
+ </body>
37
+ </html>
@@ -88,7 +88,7 @@
88
88
  <h3 class="section-bar">Methods</h3>
89
89
 
90
90
  <div class="name-list">
91
- <a href="#M000051">to_ical</a>&nbsp;&nbsp;
91
+ <a href="#M000067">to_ical</a>&nbsp;&nbsp;
92
92
  </div>
93
93
  </div>
94
94
 
@@ -110,26 +110,17 @@
110
110
  <div id="methods">
111
111
  <h3 class="section-bar">Public Instance methods</h3>
112
112
 
113
- <div id="method-M000051" class="method-detail">
114
- <a name="M000051"></a>
113
+ <div id="method-M000067" class="method-detail">
114
+ <a name="M000067"></a>
115
115
 
116
116
  <div class="method-heading">
117
- <a href="#M000051" class="method-signature">
117
+ <a href="Generic.src/M000067.html" target="Code" class="method-signature"
118
+ onclick="popupCode('Generic.src/M000067.html');return false;">
118
119
  <span class="method-name">to_ical</span><span class="method-args">()</span>
119
120
  </a>
120
121
  </div>
121
122
 
122
123
  <div class="method-description">
123
- <p><a class="source-toggle" href="#"
124
- onclick="toggleCode('M000051-source');return false;">[Source]</a></p>
125
- <div class="method-source-code" id="M000051-source">
126
- <pre>
127
- <span class="ruby-comment cmt"># File lib/icalendar/conversions.rb, line 47</span>
128
- 47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ical</span>
129
- 48: <span class="ruby-node">&quot;#{self}&quot;</span>
130
- 49: <span class="ruby-keyword kw">end</span>
131
- </pre>
132
- </div>
133
124
  </div>
134
125
  </div>
135
126
 
@@ -0,0 +1,18 @@
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>
7
+ <head>
8
+ <title>to_ical (URI::Generic)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/icalendar/conversions.rb, line 49</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ical</span>
15
+ <span class="ruby-node">&quot;#{self}&quot;</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
data/docs/api/created.rid CHANGED
@@ -1 +1 @@
1
- Thu Dec 01 00:18:37 CET 2005
1
+ Thu Jul 20 22:04:34 CEST 2006
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Fri Sep 30 13:22:04 CEST 2005</td>
59
+ <td>Wed Apr 26 10:57:46 CEST 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Fri Sep 30 13:22:04 CEST 2005</td>
59
+ <td>Wed Apr 26 10:57:46 CEST 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Sun Oct 30 18:19:01 CET 2005</td>
59
+ <td>Thu Jul 20 21:24:55 CEST 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -103,73 +103,96 @@ form of unwired transport such as infrared might also be used.
103
103
  <p>
104
104
  Now for some examples:
105
105
  </p>
106
- <ul>
107
- <li>Creating iCalendars.
106
+ <p>
107
+ ## Probably want to start with this
108
+ </p>
109
+ <pre>
110
+ require 'rubygems' # Unless you install from the tarball or zip.
111
+ require 'icalendar'
112
+ require 'date'
108
113
 
114
+ include Icalendar # Probably do this in your class to limit namespace overlap
115
+ </pre>
116
+ <p>
117
+ ## Creating calendars and events is easy.
118
+ </p>
109
119
  <pre>
110
- # Create a calendar with a single event (Method 1)
111
- cal = Icalendar::Calendar.new
112
- event = Icalendar::Event.new
113
-
114
- # Set some properties for this event
115
- event.user_id = &quot;joe-bob@somewhere.net&quot;
116
- event.timestamp = DateTime.now
117
- event.start = Date.new(2005, 04, 29)
118
- event.end = Date.new(2005, 04, 28)
119
- event.summary = &quot;Meeting with the man.&quot;
120
- event.klass = &quot;PRIVATE&quot;
121
-
122
- # Now add it to the calendar
123
- cal.add event
124
-
125
- # Create a calendar with a single event (Method 2)
126
- cal2 = Icalendar::Calendar.new
127
- event = cal.event # This automatically adds the event to the calendar
128
- event.user_id = &quot;joe-bob@somewhere.net&quot;
129
- event.timestamp = DateTime.now
130
-
131
- # Create a calendar with a single event (Method 3)
132
- cal3 = Icalendar::Calendar.new
133
- cal3.event do
134
- user_id &quot;joe-bob@somewhere.net&quot;
135
- timestamp DateTime.now
136
- end
137
-
138
- # We can output the calendars as strings to write to a file,
139
- # network port, database etc.
140
- cal_string = cal.to_ical
141
- puts cal_string
120
+ # Create a calendar with an event (standard method)
121
+ cal = Calendar.new
122
+ cal.event do
123
+ dtstart Date.new(2005, 04, 29)
124
+ dtend Date.new(2005, 04, 28)
125
+ summary &quot;Meeting with the man.&quot;
126
+ description &quot;Have a long lunch meeting and decide nothing...&quot;
127
+ klass &quot;PRIVATE&quot;
128
+ end
142
129
  </pre>
143
- </li>
144
- </ul>
145
- <h2>Parsing iCalendars:</h2>
130
+ <p>
131
+ ## Or you can make events like this
132
+ </p>
146
133
  <pre>
147
- require 'icalendar'
148
- require 'date'
134
+ event = Event.new
135
+ event.start = DateTime.civil(2006, 6, 23, 8, 30)
136
+ event.summary = &quot;A great event!&quot;
137
+ cal.add_event(event)
138
+
139
+ event2 = cal.event # This automatically adds the event to the calendar
140
+ event2.start = DateTime.civil(2006, 6, 24, 8, 30)
141
+ event2.summary = &quot;Another great event!&quot;
142
+
143
+ # Now with support for property parameters
144
+ params = {&quot;ALTREP&quot; =&gt;['&quot;http://my.language.net&quot;'], &quot;LANGUAGE&quot; =&gt; [&quot;SPANISH&quot;]}
145
+
146
+ cal.event do
147
+ dtstart Date.new(2005, 04, 29)
148
+ dtend Date.new(2005, 04, 28)
149
+ summary &quot;This is a summary with params.&quot;, params
150
+ end
149
151
 
150
- # Open a file or string to parse
152
+ # We can output the calendar as a string to write to a file,
153
+ # network port, database etc.
154
+ cal_string = cal.to_ical
155
+ puts cal_string
156
+ </pre>
157
+ <h2>Parsing iCalendars:</h2>
158
+ <pre>
159
+ # Open a file or pass a string to the parser
151
160
  cal_file = File.open(&quot;single_event.ics&quot;)
152
161
 
153
162
  # Parser returns an array of calendars because a single file
154
- # can have multiple calendar objects.
155
- cals = Icalendar::Parser.new(cal_file).parse
163
+ # can have multiple calendars.
164
+ cals = Icalendar.parse(cal_file)
156
165
  cal = cals.first
157
166
 
158
167
  # Now you can access the cal object in just the same way I created it
159
168
  event = cal.events.first
160
169
 
161
- puts &quot;user_id: &quot; + event.user_id
170
+ puts &quot;start date-time: &quot; + event.dtstart
162
171
  puts &quot;summary: &quot; + event.summary
163
172
  </pre>
164
- <h2>Including the iCalendar library when using RubyGem:</h2>
173
+ <h2>Finders:</h2>
174
+ <p>
175
+ Often times in web apps and other interactive applications you&#8217;ll
176
+ need to lookup items in a calendar to make changes or get details. Now you
177
+ can find everything by the unique id automatically associated with all
178
+ components.
179
+ </p>
165
180
  <pre>
166
- begin
167
- require 'rubygems'
168
- require_gem 'icalendar', &quot;&gt;= 0.96&quot;
169
- rescue LoadError
170
- require 'icalendar'
171
- end
181
+ cal = Calendar.new
182
+ 10.times { cal.event } # Create 10 events with only default data.
183
+ some_event = cal.events[5] # Grab it from the array of events
184
+
185
+ # Use the uid as the key in your app
186
+ key = some_event.uid
187
+
188
+ # so later you can find it.
189
+ same_event = cal.find_event(key)
172
190
  </pre>
191
+ <h2>Examples:</h2>
192
+ <p>
193
+ Check the unit tests for examples of most things you&#8217;ll want to do,
194
+ but please send me example code or let me know what&#8217;s missing.
195
+ </p>
173
196
  <h2>Download</h2>
174
197
  <p>
175
198
  The latest release version of this library can be found at
@@ -178,17 +201,6 @@ The latest release version of this library can be found at
178
201
  <li><a
179
202
  href="http://rubyforge.org/projects/icalendar">rubyforge.org/projects/icalendar</a>/
180
203
 
181
- </li>
182
- </ul>
183
- <p>
184
- If you would like to help with development or use the most current version
185
- you can check out the tree from the subversion repository:
186
- </p>
187
- <ul>
188
- <li>svn co <a
189
- href="https://rosejn.net/svn/icalendar">rosejn.net/svn/icalendar</a>
190
- icalendar
191
-
192
204
  </li>
193
205
  </ul>
194
206
  <p>
@@ -201,10 +213,10 @@ Documentation can be found at
201
213
  </ul>
202
214
  <h2>Installation</h2>
203
215
  <p>
204
- This library uses rubygems for distribution and installation:
216
+ It&#8217;s all about rubygems:
205
217
  </p>
206
218
  <p>
207
- $ gem install icalendar
219
+ $ sudo gem install icalendar
208
220
  </p>
209
221
  <h2>License</h2>
210
222
  <p>