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.
- data/README +66 -53
- data/Rakefile +33 -24
- data/docs/api/classes/Array.html +9 -11
- data/docs/api/classes/Array.src/M000002.html +18 -0
- data/docs/api/classes/Date.html +2 -22
- data/docs/api/classes/Date.src/M000004.html +29 -0
- data/docs/api/classes/DateTime.html +2 -43
- data/docs/api/classes/DateTime.src/M000005.html +50 -0
- data/docs/api/classes/Fixnum.html +2 -11
- data/docs/api/classes/Fixnum.src/M000011.html +18 -0
- data/docs/api/classes/Float.html +2 -11
- data/docs/api/classes/Float.src/M000003.html +18 -0
- data/docs/api/classes/HashAttrs.html +15 -60
- data/docs/api/classes/HashAttrs.src/M000068.html +26 -0
- data/docs/api/classes/HashAttrs.src/M000069.html +27 -0
- data/docs/api/classes/HashAttrs.src/M000070.html +19 -0
- data/docs/api/classes/Icalendar/Alarm.html +5 -15
- data/docs/api/classes/Icalendar/Alarm.src/M000020.html +22 -0
- data/docs/api/classes/Icalendar/Base.html +41 -0
- data/docs/api/classes/Icalendar/Base.src/M000022.html +18 -0
- data/docs/api/classes/Icalendar/Base.src/M000023.html +18 -0
- data/docs/api/classes/Icalendar/Calendar.html +116 -116
- data/docs/api/classes/Icalendar/Calendar.src/M000054.html +23 -0
- data/docs/api/classes/Icalendar/Calendar.src/M000055.html +23 -0
- data/docs/api/classes/Icalendar/Calendar.src/M000056.html +18 -0
- data/docs/api/classes/Icalendar/Calendar.src/M000057.html +23 -0
- data/docs/api/classes/Icalendar/Calendar.src/M000058.html +18 -0
- data/docs/api/classes/Icalendar/Calendar.src/M000059.html +23 -0
- data/docs/api/classes/Icalendar/Calendar.src/M000060.html +18 -0
- data/docs/api/classes/Icalendar/Calendar.src/M000061.html +23 -0
- data/docs/api/classes/Icalendar/Calendar.src/M000062.html +18 -0
- data/docs/api/classes/Icalendar/Calendar.src/M000063.html +23 -0
- data/docs/api/classes/Icalendar/Calendar.src/M000064.html +19 -0
- data/docs/api/classes/Icalendar/Component.html +200 -367
- data/docs/api/classes/Icalendar/Component.src/M000029.html +22 -0
- data/docs/api/classes/Icalendar/Component.src/M000030.html +24 -0
- data/docs/api/classes/Icalendar/Component.src/M000035.html +22 -0
- data/docs/api/classes/Icalendar/Component.src/M000040.html +18 -0
- data/docs/api/classes/Icalendar/Component.src/M000041.html +24 -0
- data/docs/api/classes/Icalendar/Component.src/M000042.html +28 -0
- data/docs/api/classes/Icalendar/Component.src/M000043.html +37 -0
- data/docs/api/classes/Icalendar/Component.src/M000044.html +37 -0
- data/docs/api/classes/Icalendar/Component.src/M000045.html +18 -0
- data/docs/api/classes/Icalendar/Component.src/M000046.html +18 -0
- data/docs/api/classes/Icalendar/Component.src/M000047.html +18 -0
- data/docs/api/classes/Icalendar/Component.src/M000048.html +26 -0
- data/docs/api/classes/Icalendar/Component.src/M000049.html +29 -0
- data/docs/api/classes/Icalendar/Component.src/M000050.html +22 -0
- data/docs/api/classes/Icalendar/DateProp.html +2 -12
- data/docs/api/classes/Icalendar/DateProp.src/M000013.html +19 -0
- data/docs/api/classes/Icalendar/DateProp/ClassMethods.html +2 -59
- data/docs/api/classes/Icalendar/DateProp/ClassMethods.src/M000014.html +66 -0
- data/docs/api/classes/Icalendar/Daylight.html +5 -14
- data/docs/api/classes/Icalendar/Daylight.src/M000051.html +18 -0
- data/docs/api/classes/Icalendar/Event.html +30 -37
- data/docs/api/classes/Icalendar/Event.src/M000052.html +23 -0
- data/docs/api/classes/Icalendar/Event.src/M000053.html +23 -0
- data/docs/api/classes/Icalendar/Freebusy.html +5 -14
- data/docs/api/classes/Icalendar/Freebusy.src/M000065.html +21 -0
- data/docs/api/classes/Icalendar/Geo.html +192 -0
- data/docs/api/classes/Icalendar/Geo.src/M000024.html +19 -0
- data/docs/api/classes/Icalendar/Geo.src/M000025.html +18 -0
- data/docs/api/classes/Icalendar/Journal.html +2 -11
- data/docs/api/classes/Icalendar/Journal.src/M000016.html +22 -0
- data/docs/api/classes/Icalendar/Parameter.html +5 -23
- data/docs/api/classes/Icalendar/Parameter.src/M000066.html +27 -0
- data/docs/api/classes/Icalendar/Parser.html +36 -212
- data/docs/api/classes/Icalendar/Parser.src/M000017.html +32 -0
- data/docs/api/classes/Icalendar/Parser.src/M000018.html +43 -0
- data/docs/api/classes/Icalendar/Parser.src/M000019.html +33 -0
- data/docs/api/classes/Icalendar/Standard.html +2 -11
- data/docs/api/classes/Icalendar/Standard.src/M000015.html +18 -0
- data/docs/api/classes/Icalendar/Timezone.html +16 -48
- data/docs/api/classes/Icalendar/Timezone.src/M000026.html +19 -0
- data/docs/api/classes/Icalendar/Timezone.src/M000027.html +22 -0
- data/docs/api/classes/Icalendar/Timezone.src/M000028.html +18 -0
- data/docs/api/classes/Icalendar/Todo.html +5 -14
- data/docs/api/classes/Icalendar/Todo.src/M000021.html +22 -0
- data/docs/api/classes/Object.html +10 -59
- data/docs/api/classes/Object.src/M000006.html +20 -0
- data/docs/api/classes/Object.src/M000007.html +18 -0
- data/docs/api/classes/Object.src/M000008.html +20 -0
- data/docs/api/classes/Object.src/M000009.html +18 -0
- data/docs/api/classes/Object.src/M000010.html +18 -0
- data/docs/api/classes/String.html +2 -11
- data/docs/api/classes/String.src/M000012.html +18 -0
- data/docs/api/classes/Time.html +2 -26
- data/docs/api/classes/Time.src/M000001.html +37 -0
- data/docs/api/classes/URI/Generic.html +5 -14
- data/docs/api/classes/URI/Generic.src/M000067.html +18 -0
- data/docs/api/created.rid +1 -1
- data/docs/api/files/COPYING.html +1 -1
- data/docs/api/files/GPL.html +1 -1
- data/docs/api/files/README.html +76 -64
- data/docs/api/files/lib/hash_attrs_rb.html +1 -1
- data/docs/api/files/lib/icalendar/base_rb.html +1 -1
- data/docs/api/files/lib/icalendar/calendar_rb.html +1 -1
- data/docs/api/files/lib/icalendar/component/alarm_rb.html +1 -1
- data/docs/api/files/lib/icalendar/component/event_rb.html +1 -1
- data/docs/api/files/lib/icalendar/component/freebusy_rb.html +1 -1
- data/docs/api/files/lib/icalendar/component/journal_rb.html +1 -1
- data/docs/api/files/lib/icalendar/component/timezone_rb.html +1 -1
- data/docs/api/files/lib/icalendar/component/todo_rb.html +1 -1
- data/docs/api/files/lib/icalendar/component_rb.html +8 -1
- data/docs/api/files/lib/icalendar/conversions_rb.html +1 -1
- data/docs/api/files/lib/icalendar/helpers_rb.html +1 -1
- data/docs/api/files/lib/icalendar/parameter_rb.html +1 -1
- data/docs/api/files/lib/icalendar/parser_rb.html +2 -1
- data/docs/api/files/lib/icalendar_rb.html +1 -1
- data/docs/api/files/lib/meta_rb.html +1 -1
- data/docs/api/fr_class_index.html +1 -0
- data/docs/api/fr_method_index.html +57 -41
- data/docs/rfcs/itip_notes.txt +69 -0
- data/examples/create_cal.rb +33 -32
- data/examples/parse_cal.rb +2 -2
- data/lib/icalendar/base.rb +8 -0
- data/lib/icalendar/calendar.rb +32 -3
- data/lib/icalendar/component.rb +187 -113
- data/lib/icalendar/component/alarm.rb +3 -0
- data/lib/icalendar/component/event.rb +9 -3
- data/lib/icalendar/component/freebusy.rb +3 -0
- data/lib/icalendar/component/journal.rb +4 -0
- data/lib/icalendar/component/todo.rb +4 -0
- data/lib/icalendar/conversions.rb +7 -1
- data/lib/icalendar/parser.rb +68 -90
- data/test/calendar_test.rb +32 -8
- data/test/component/event_test.rb +4 -7
- data/test/component/todo_test.rb +13 -0
- data/test/component_test.rb +21 -34
- data/test/conversions_test.rb +66 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-hash_attrs_rb.html +574 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-base_rb.html +575 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-calendar_rb.html +629 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component-alarm_rb.html +581 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component-event_rb.html +658 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component-freebusy_rb.html +574 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component-journal_rb.html +597 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component-timezone_rb.html +625 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component-todo_rb.html +600 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-component_rb.html +924 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-conversions_rb.html +667 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar-parser_rb.html +938 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-icalendar_rb.html +576 -0
- data/test/coverage/-home-rosejn-projects-icalendar-lib-meta_rb.html +572 -0
- data/test/coverage/calendar_test_rb.html +590 -0
- data/test/coverage/component_test_rb.html +602 -0
- data/test/coverage/index.html +1009 -0
- data/test/coverage/lib-hash_attrs_rb.html +574 -0
- data/test/coverage/lib-icalendar-base_rb.html +583 -0
- data/test/coverage/lib-icalendar-calendar_rb.html +631 -0
- data/test/coverage/lib-icalendar-component-alarm_rb.html +581 -0
- data/test/coverage/lib-icalendar-component-event_rb.html +661 -0
- data/test/coverage/lib-icalendar-component-freebusy_rb.html +576 -0
- data/test/coverage/lib-icalendar-component-journal_rb.html +599 -0
- data/test/coverage/lib-icalendar-component-timezone_rb.html +625 -0
- data/test/coverage/lib-icalendar-component-todo_rb.html +602 -0
- data/test/coverage/lib-icalendar-component_rb.html +941 -0
- data/test/coverage/lib-icalendar-conversions_rb.html +673 -0
- data/test/coverage/lib-icalendar-parser_rb.html +916 -0
- data/test/coverage/lib-icalendar_rb.html +576 -0
- data/test/coverage/lib-meta_rb.html +572 -0
- data/test/coverage/parameter_test_rb.html +569 -0
- data/test/coverage/parser_test_rb.html +623 -0
- data/test/coverage/test-calendar_test_rb.html +590 -0
- data/test/coverage/test-component-event_test_rb.html +584 -0
- data/test/coverage/test-component_test_rb.html +606 -0
- data/test/coverage/test-conversions_test_rb.html +603 -0
- data/test/coverage/test-parameter_test_rb.html +569 -0
- data/test/coverage/test-parser_test_rb.html +624 -0
- data/test/interactive.rb +3 -1
- data/test/life.ics +46 -1092
- data/test/parameter_test.rb +11 -2
- data/test/parser_test.rb +12 -11
- metadata +259 -126
- data/test/old_life.ics +0 -46
- data/test/rw.ics +0 -947
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</tr>
|
|
57
57
|
<tr class="top-aligned-row">
|
|
58
58
|
<td><strong>Last Update:</strong></td>
|
|
59
|
-
<td>Thu
|
|
59
|
+
<td>Thu Jul 20 19:41:55 CEST 2006</td>
|
|
60
60
|
</tr>
|
|
61
61
|
</table>
|
|
62
62
|
</div>
|
|
@@ -69,6 +69,13 @@
|
|
|
69
69
|
<div id="contextContent">
|
|
70
70
|
|
|
71
71
|
|
|
72
|
+
<div id="requires-list">
|
|
73
|
+
<h3 class="section-bar">Required files</h3>
|
|
74
|
+
|
|
75
|
+
<div class="name-list">
|
|
76
|
+
socket
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
72
79
|
|
|
73
80
|
</div>
|
|
74
81
|
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</tr>
|
|
57
57
|
<tr class="top-aligned-row">
|
|
58
58
|
<td><strong>Last Update:</strong></td>
|
|
59
|
-
<td>
|
|
59
|
+
<td>Thu Jul 20 15:35:13 CEST 2006</td>
|
|
60
60
|
</tr>
|
|
61
61
|
</table>
|
|
62
62
|
</div>
|
|
@@ -75,6 +75,7 @@
|
|
|
75
75
|
<div class="name-list">
|
|
76
76
|
date
|
|
77
77
|
uri
|
|
78
|
+
stringio
|
|
78
79
|
</div>
|
|
79
80
|
</div>
|
|
80
81
|
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
<a href="classes/Icalendar/Daylight.html">Icalendar::Daylight</a><br />
|
|
36
36
|
<a href="classes/Icalendar/Event.html">Icalendar::Event</a><br />
|
|
37
37
|
<a href="classes/Icalendar/Freebusy.html">Icalendar::Freebusy</a><br />
|
|
38
|
+
<a href="classes/Icalendar/Geo.html">Icalendar::Geo</a><br />
|
|
38
39
|
<a href="classes/Icalendar/InvalidPropertyValue.html">Icalendar::InvalidPropertyValue</a><br />
|
|
39
40
|
<a href="classes/Icalendar/Journal.html">Icalendar::Journal</a><br />
|
|
40
41
|
<a href="classes/Icalendar/Parameter.html">Icalendar::Parameter</a><br />
|
|
@@ -20,60 +20,76 @@
|
|
|
20
20
|
<div id="index">
|
|
21
21
|
<h1 class="section-bar">Methods</h1>
|
|
22
22
|
<div id="index-entries">
|
|
23
|
-
<a href="classes/Icalendar/Component.html#
|
|
24
|
-
<a href="classes/Icalendar/
|
|
25
|
-
<a href="classes/Icalendar/
|
|
26
|
-
<a href="classes/Icalendar/
|
|
23
|
+
<a href="classes/Icalendar/Component.html#M000031">add (Icalendar::Component)</a><br />
|
|
24
|
+
<a href="classes/Icalendar/Component.html#M000030">add_component (Icalendar::Component)</a><br />
|
|
25
|
+
<a href="classes/Icalendar/Timezone.html#M000026">add_component (Icalendar::Timezone)</a><br />
|
|
26
|
+
<a href="classes/Icalendar/Component.html#M000032">add_event (Icalendar::Component)</a><br />
|
|
27
|
+
<a href="classes/Icalendar/Component.html#M000034">add_journal (Icalendar::Component)</a><br />
|
|
28
|
+
<a href="classes/Icalendar/Component.html#M000033">add_todo (Icalendar::Component)</a><br />
|
|
29
|
+
<a href="classes/Icalendar/Event.html#M000053">alarm (Icalendar::Event)</a><br />
|
|
27
30
|
<a href="classes/Icalendar/DateProp.html#M000013">append_features (Icalendar::DateProp)</a><br />
|
|
28
31
|
<a href="classes/Object.html#M000010">class_def (Object)</a><br />
|
|
29
|
-
<a href="classes/Icalendar/Component.html#
|
|
32
|
+
<a href="classes/Icalendar/Component.html#M000045">custom_property (Icalendar::Component)</a><br />
|
|
30
33
|
<a href="classes/Icalendar/DateProp/ClassMethods.html#M000014">date_property (Icalendar::DateProp::ClassMethods)</a><br />
|
|
31
|
-
<a href="classes/Icalendar/
|
|
32
|
-
<a href="classes/Icalendar/Calendar.html#
|
|
33
|
-
<a href="classes/
|
|
34
|
-
<a href="classes/
|
|
35
|
-
<a href="classes/
|
|
36
|
-
<a href="classes/Icalendar/
|
|
37
|
-
<a href="classes/Icalendar/
|
|
38
|
-
<a href="classes/
|
|
39
|
-
<a href="classes/
|
|
34
|
+
<a href="classes/Icalendar/Base.html#M000022">debug (Icalendar::Base)</a><br />
|
|
35
|
+
<a href="classes/Icalendar/Calendar.html#M000055">event (Icalendar::Calendar)</a><br />
|
|
36
|
+
<a href="classes/Icalendar/Calendar.html#M000056">find_event (Icalendar::Calendar)</a><br />
|
|
37
|
+
<a href="classes/Icalendar/Calendar.html#M000062">find_freebusy (Icalendar::Calendar)</a><br />
|
|
38
|
+
<a href="classes/Icalendar/Calendar.html#M000060">find_journal (Icalendar::Calendar)</a><br />
|
|
39
|
+
<a href="classes/Icalendar/Calendar.html#M000058">find_todo (Icalendar::Calendar)</a><br />
|
|
40
|
+
<a href="classes/Icalendar/Calendar.html#M000061">freebusy (Icalendar::Calendar)</a><br />
|
|
41
|
+
<a href="classes/HashAttrs.html#M000070">hash_accessor (HashAttrs)</a><br />
|
|
42
|
+
<a href="classes/HashAttrs.html#M000068">hash_reader (HashAttrs)</a><br />
|
|
43
|
+
<a href="classes/HashAttrs.html#M000069">hash_writer (HashAttrs)</a><br />
|
|
44
|
+
<a href="classes/Icalendar/Component.html#M000047">ical_component (Icalendar::Component)</a><br />
|
|
45
|
+
<a href="classes/Icalendar/Component.html#M000049">ical_multi_property (Icalendar::Component)</a><br />
|
|
46
|
+
<a href="classes/Icalendar/Component.html#M000048">ical_property (Icalendar::Component)</a><br />
|
|
47
|
+
<a href="classes/Icalendar/Calendar.html#M000059">journal (Icalendar::Calendar)</a><br />
|
|
40
48
|
<a href="classes/Object.html#M000009">meta_def (Object)</a><br />
|
|
41
49
|
<a href="classes/Object.html#M000007">meta_eval (Object)</a><br />
|
|
42
50
|
<a href="classes/Object.html#M000008">meta_include (Object)</a><br />
|
|
43
51
|
<a href="classes/Object.html#M000006">metaclass (Object)</a><br />
|
|
44
|
-
<a href="classes/Icalendar/Component.html#
|
|
45
|
-
<a href="classes/Icalendar/Component.html#
|
|
46
|
-
<a href="classes/Icalendar/
|
|
47
|
-
<a href="classes/Icalendar/
|
|
48
|
-
<a href="classes/Icalendar/
|
|
52
|
+
<a href="classes/Icalendar/Component.html#M000046">multi_property? (Icalendar::Component)</a><br />
|
|
53
|
+
<a href="classes/Icalendar/Component.html#M000029">new (Icalendar::Component)</a><br />
|
|
54
|
+
<a href="classes/Icalendar/Timezone.html#M000028">new (Icalendar::Timezone)</a><br />
|
|
55
|
+
<a href="classes/Icalendar/Freebusy.html#M000065">new (Icalendar::Freebusy)</a><br />
|
|
56
|
+
<a href="classes/Icalendar/Standard.html#M000015">new (Icalendar::Standard)</a><br />
|
|
57
|
+
<a href="classes/Icalendar/Calendar.html#M000054">new (Icalendar::Calendar)</a><br />
|
|
49
58
|
<a href="classes/Icalendar/Journal.html#M000016">new (Icalendar::Journal)</a><br />
|
|
50
|
-
<a href="classes/Icalendar/
|
|
51
|
-
<a href="classes/Icalendar/
|
|
52
|
-
<a href="classes/Icalendar/
|
|
53
|
-
<a href="classes/Icalendar/Alarm.html#
|
|
54
|
-
<a href="classes/Icalendar/Todo.html#M000022">new (Icalendar::Todo)</a><br />
|
|
59
|
+
<a href="classes/Icalendar/Todo.html#M000021">new (Icalendar::Todo)</a><br />
|
|
60
|
+
<a href="classes/Icalendar/Daylight.html#M000051">new (Icalendar::Daylight)</a><br />
|
|
61
|
+
<a href="classes/Icalendar/Geo.html#M000024">new (Icalendar::Geo)</a><br />
|
|
62
|
+
<a href="classes/Icalendar/Alarm.html#M000020">new (Icalendar::Alarm)</a><br />
|
|
55
63
|
<a href="classes/Icalendar/Parser.html#M000017">new (Icalendar::Parser)</a><br />
|
|
56
|
-
<a href="classes/Icalendar/
|
|
64
|
+
<a href="classes/Icalendar/Event.html#M000052">new (Icalendar::Event)</a><br />
|
|
65
|
+
<a href="classes/Icalendar/Component.html#M000040">new_uid (Icalendar::Component)</a><br />
|
|
57
66
|
<a href="classes/Icalendar/Parser.html#M000018">next_line (Icalendar::Parser)</a><br />
|
|
58
|
-
<a href="classes/Icalendar/Parser.html#M000019">
|
|
59
|
-
<a href="classes/Icalendar/
|
|
60
|
-
<a href="classes/Icalendar/Component.html#
|
|
61
|
-
<a href="classes/Icalendar/Component.html#
|
|
62
|
-
<a href="classes/Icalendar/
|
|
63
|
-
<a href="classes/Icalendar/
|
|
64
|
-
<a href="classes/Icalendar/
|
|
67
|
+
<a href="classes/Icalendar/Parser.html#M000019">parse (Icalendar::Parser)</a><br />
|
|
68
|
+
<a href="classes/Icalendar/Component.html#M000042">print_component (Icalendar::Component)</a><br />
|
|
69
|
+
<a href="classes/Icalendar/Component.html#M000044">print_parameters (Icalendar::Component)</a><br />
|
|
70
|
+
<a href="classes/Icalendar/Component.html#M000043">print_properties (Icalendar::Component)</a><br />
|
|
71
|
+
<a href="classes/Icalendar/Calendar.html#M000064">publish (Icalendar::Calendar)</a><br />
|
|
72
|
+
<a href="classes/Icalendar/Base.html#M000023">quiet (Icalendar::Base)</a><br />
|
|
73
|
+
<a href="classes/Icalendar/Component.html#M000036">remove (Icalendar::Component)</a><br />
|
|
74
|
+
<a href="classes/Icalendar/Component.html#M000035">remove_component (Icalendar::Component)</a><br />
|
|
75
|
+
<a href="classes/Icalendar/Component.html#M000037">remove_event (Icalendar::Component)</a><br />
|
|
76
|
+
<a href="classes/Icalendar/Component.html#M000039">remove_journal (Icalendar::Component)</a><br />
|
|
77
|
+
<a href="classes/Icalendar/Component.html#M000038">remove_todo (Icalendar::Component)</a><br />
|
|
78
|
+
<a href="classes/Icalendar/Component.html#M000050">respond_to? (Icalendar::Component)</a><br />
|
|
79
|
+
<a href="classes/Icalendar/Calendar.html#M000063">timezone (Icalendar::Calendar)</a><br />
|
|
80
|
+
<a href="classes/Fixnum.html#M000011">to_ical (Fixnum)</a><br />
|
|
81
|
+
<a href="classes/Icalendar/Geo.html#M000025">to_ical (Icalendar::Geo)</a><br />
|
|
82
|
+
<a href="classes/String.html#M000012">to_ical (String)</a><br />
|
|
83
|
+
<a href="classes/Time.html#M000001">to_ical (Time)</a><br />
|
|
65
84
|
<a href="classes/DateTime.html#M000005">to_ical (DateTime)</a><br />
|
|
85
|
+
<a href="classes/Icalendar/Timezone.html#M000027">to_ical (Icalendar::Timezone)</a><br />
|
|
86
|
+
<a href="classes/Icalendar/Component.html#M000041">to_ical (Icalendar::Component)</a><br />
|
|
66
87
|
<a href="classes/Float.html#M000003">to_ical (Float)</a><br />
|
|
67
|
-
<a href="classes/Time.html#M000001">to_ical (Time)</a><br />
|
|
68
|
-
<a href="classes/Date.html#M000004">to_ical (Date)</a><br />
|
|
69
88
|
<a href="classes/Array.html#M000002">to_ical (Array)</a><br />
|
|
70
|
-
<a href="classes/
|
|
71
|
-
<a href="classes/
|
|
72
|
-
<a href="classes/
|
|
73
|
-
<a href="classes/
|
|
74
|
-
<a href="classes/Icalendar/Timezone.html#M000024">to_ical (Icalendar::Timezone)</a><br />
|
|
75
|
-
<a href="classes/Icalendar/Parameter.html#M000050">to_s (Icalendar::Parameter)</a><br />
|
|
76
|
-
<a href="classes/Icalendar/Calendar.html#M000045">todo (Icalendar::Calendar)</a><br />
|
|
89
|
+
<a href="classes/URI/Generic.html#M000067">to_ical (URI::Generic)</a><br />
|
|
90
|
+
<a href="classes/Date.html#M000004">to_ical (Date)</a><br />
|
|
91
|
+
<a href="classes/Icalendar/Parameter.html#M000066">to_s (Icalendar::Parameter)</a><br />
|
|
92
|
+
<a href="classes/Icalendar/Calendar.html#M000057">todo (Icalendar::Calendar)</a><br />
|
|
77
93
|
</div>
|
|
78
94
|
</div>
|
|
79
95
|
</body>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
Set of methods used for transactions:
|
|
2
|
+
|
|
3
|
+
PUBLISH:
|
|
4
|
+
- Publish a calendar entry to one or more users.
|
|
5
|
+
|
|
6
|
+
REQUEST:
|
|
7
|
+
- Used to schedule a calendar entry with other users.
|
|
8
|
+
- Require REPLY messages from others.
|
|
9
|
+
- Used by Organizers to update status of entries.
|
|
10
|
+
|
|
11
|
+
REPLY:
|
|
12
|
+
- Attendees use this to send information back to Organizers who have sent a
|
|
13
|
+
REQUEST message.
|
|
14
|
+
|
|
15
|
+
ADD:
|
|
16
|
+
- Add one or more instances to an existing entry.
|
|
17
|
+
|
|
18
|
+
CANCEL:
|
|
19
|
+
- Cancel a calendar item.
|
|
20
|
+
|
|
21
|
+
REFRESH:
|
|
22
|
+
- Attendee's use this to get the latest version of an item.
|
|
23
|
+
|
|
24
|
+
COUNTER:
|
|
25
|
+
- Used by an attendee to negotiate a change in a calendar entry.
|
|
26
|
+
|
|
27
|
+
DECLINE-COUNTER:
|
|
28
|
+
- Used by an organizer to decline a COUNTER message.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
Transports:
|
|
32
|
+
|
|
33
|
+
Real-time vs. Store-and-forward?
|
|
34
|
+
|
|
35
|
+
Entry Status:
|
|
36
|
+
- Only the organizer can set the STATUS property
|
|
37
|
+
- Attendee's use the "partstat" parameter of the ATTENDEE property to convey
|
|
38
|
+
their personal status.
|
|
39
|
+
- Initial value of "partstat" is set to "NEEDS-ACTION" by organizer
|
|
40
|
+
- Modifying this state is part of an attendee's REPLY message.
|
|
41
|
+
|
|
42
|
+
Sequence Property:
|
|
43
|
+
- Used to tell manage different versions of an entry
|
|
44
|
+
- Has specific rules so look at these
|
|
45
|
+
|
|
46
|
+
Handling messages should be done in this manner:
|
|
47
|
+
|
|
48
|
+
1. The primary key for referencing a particular iCalendar component
|
|
49
|
+
is the "UID" property value. To reference an instance of a
|
|
50
|
+
recurring component, the primary key is composed of the "UID" and
|
|
51
|
+
the "RECURRENCE-ID" properties.
|
|
52
|
+
2. The secondary key for referencing a component is the "SEQUENCE"
|
|
53
|
+
property value. For components where the "UID" is the same, the
|
|
54
|
+
component with the highest numeric value for the "SEQUENCE"
|
|
55
|
+
property obsoletes all other revisions of the component with
|
|
56
|
+
lower values.
|
|
57
|
+
3. "Attendees" send "REPLY" messages to the "Organizer". For
|
|
58
|
+
replies where the "UID" property value is the same, the value of
|
|
59
|
+
the "SEQUENCE" property indicates the revision of the component
|
|
60
|
+
to which the "Attendee" is replying. The reply with the highest
|
|
61
|
+
numeric value for the "SEQUENCE" property obsoletes all other
|
|
62
|
+
replies with lower values.
|
|
63
|
+
4. In situations where the "UID" and "SEQUENCE" properties match,
|
|
64
|
+
the "DTSTAMP" property is used as the tie-breaker. The component
|
|
65
|
+
with the latest "DTSTAMP" overrides all others. Similarly, for
|
|
66
|
+
"Attendee" responses where the "UID" property values match and
|
|
67
|
+
the "SEQUENCE" property values match, the response with the
|
|
68
|
+
latest "DTSTAMP" overrides all others.
|
|
69
|
+
|
data/examples/create_cal.rb
CHANGED
|
@@ -2,43 +2,44 @@
|
|
|
2
2
|
## Need this so we can require the library from the samples directory
|
|
3
3
|
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
|
4
4
|
|
|
5
|
+
require 'rubygems' # Unless you install from the tarball or zip.
|
|
5
6
|
require 'icalendar'
|
|
6
7
|
require 'date'
|
|
7
8
|
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
#
|
|
13
|
-
|
|
14
|
-
event
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
#
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
9
|
+
include Icalendar # Probably do this in your class to limit namespace overlap
|
|
10
|
+
|
|
11
|
+
## Creating calendars and events is easy.
|
|
12
|
+
|
|
13
|
+
# Create a calendar with an event (standard method)
|
|
14
|
+
cal = Calendar.new
|
|
15
|
+
cal.event do
|
|
16
|
+
dtstart Date.new(2005, 04, 29)
|
|
17
|
+
dtend Date.new(2005, 04, 28)
|
|
18
|
+
summary "Meeting with the man."
|
|
19
|
+
description "Have a long lunch meeting and decide nothing..."
|
|
20
|
+
klass "PRIVATE"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
## Or you can make events like this
|
|
24
|
+
event = Event.new
|
|
25
|
+
event.start = DateTime.civil(2006, 6, 23, 8, 30)
|
|
26
|
+
event.summary = "A great event!"
|
|
27
|
+
cal.add_event(event)
|
|
28
|
+
|
|
29
|
+
event2 = cal.event # This automatically adds the event to the calendar
|
|
30
|
+
event2.start = DateTime.civil(2006, 6, 24, 8, 30)
|
|
31
|
+
event2.summary = "Another great event!"
|
|
32
|
+
|
|
33
|
+
# Now with support for property parameters
|
|
34
|
+
params = {"ALTREP" =>['"http://my.language.net"'], "LANGUAGE" => ["SPANISH"]}
|
|
35
|
+
|
|
36
|
+
cal.event do
|
|
37
|
+
dtstart Date.new(2005, 04, 29)
|
|
38
|
+
dtend Date.new(2005, 04, 28)
|
|
39
|
+
summary "This is a summary with params.", params
|
|
37
40
|
end
|
|
38
41
|
|
|
39
|
-
# We can output the
|
|
42
|
+
# We can output the calendar as a string to write to a file,
|
|
40
43
|
# network port, database etc.
|
|
41
44
|
cal_string = cal.to_ical
|
|
42
45
|
puts cal_string
|
|
43
|
-
|
|
44
|
-
#:startdoc:
|