icalendar 0.96.4 → 0.97

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