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
|
@@ -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"><<</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">&</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">&</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">&</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">&</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">&</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">&</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="
|
|
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">"#{self.dump[1...-1]}"</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">"#{self}"</span>
|
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
17
|
+
</body>
|
|
18
|
+
</html>
|
data/docs/api/classes/Time.html
CHANGED
|
@@ -114,37 +114,13 @@
|
|
|
114
114
|
<a name="M000001"></a>
|
|
115
115
|
|
|
116
116
|
<div class="method-heading">
|
|
117
|
-
<a href="
|
|
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"><<</span> <span class="ruby-value str">"0"</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">></span> <span class="ruby-value">9</span>
|
|
131
|
-
112: <span class="ruby-identifier">s</span> <span class="ruby-operator"><<</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"><<</span> <span class="ruby-value str">"0"</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">></span> <span class="ruby-value">9</span>
|
|
135
|
-
116: <span class="ruby-identifier">s</span> <span class="ruby-operator"><<</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"><<</span> <span class="ruby-value str">"0"</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">></span> <span class="ruby-value">9</span>
|
|
139
|
-
120: <span class="ruby-identifier">s</span> <span class="ruby-operator"><<</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"><<</span> <span class="ruby-value str">"Z"</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">""</span>
|
|
16
|
+
|
|
17
|
+
<span class="ruby-comment cmt"># Double digit hour</span>
|
|
18
|
+
<span class="ruby-identifier">s</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"0"</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">></span> <span class="ruby-value">9</span>
|
|
19
|
+
<span class="ruby-identifier">s</span> <span class="ruby-operator"><<</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"><<</span> <span class="ruby-value str">"0"</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">></span> <span class="ruby-value">9</span>
|
|
23
|
+
<span class="ruby-identifier">s</span> <span class="ruby-operator"><<</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"><<</span> <span class="ruby-value str">"0"</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">></span> <span class="ruby-value">9</span>
|
|
27
|
+
<span class="ruby-identifier">s</span> <span class="ruby-operator"><<</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"><<</span> <span class="ruby-value str">"Z"</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="#
|
|
91
|
+
<a href="#M000067">to_ical</a>
|
|
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-
|
|
114
|
-
<a name="
|
|
113
|
+
<div id="method-M000067" class="method-detail">
|
|
114
|
+
<a name="M000067"></a>
|
|
115
115
|
|
|
116
116
|
<div class="method-heading">
|
|
117
|
-
<a href="
|
|
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">"#{self}"</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">"#{self}"</span>
|
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
17
|
+
</body>
|
|
18
|
+
</html>
|
data/docs/api/created.rid
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Thu
|
|
1
|
+
Thu Jul 20 22:04:34 CEST 2006
|
data/docs/api/files/COPYING.html
CHANGED
data/docs/api/files/GPL.html
CHANGED
data/docs/api/files/README.html
CHANGED
|
@@ -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 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
|
-
<
|
|
107
|
-
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
event.summary = "Meeting with the man."
|
|
120
|
-
event.klass = "PRIVATE"
|
|
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 = "joe-bob@somewhere.net"
|
|
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 "joe-bob@somewhere.net"
|
|
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 "Meeting with the man."
|
|
126
|
+
description "Have a long lunch meeting and decide nothing..."
|
|
127
|
+
klass "PRIVATE"
|
|
128
|
+
end
|
|
142
129
|
</pre>
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
130
|
+
<p>
|
|
131
|
+
## Or you can make events like this
|
|
132
|
+
</p>
|
|
146
133
|
<pre>
|
|
147
|
-
|
|
148
|
-
|
|
134
|
+
event = Event.new
|
|
135
|
+
event.start = DateTime.civil(2006, 6, 23, 8, 30)
|
|
136
|
+
event.summary = "A great event!"
|
|
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 = "Another great event!"
|
|
142
|
+
|
|
143
|
+
# Now with support for property parameters
|
|
144
|
+
params = {"ALTREP" =>['"http://my.language.net"'], "LANGUAGE" => ["SPANISH"]}
|
|
145
|
+
|
|
146
|
+
cal.event do
|
|
147
|
+
dtstart Date.new(2005, 04, 29)
|
|
148
|
+
dtend Date.new(2005, 04, 28)
|
|
149
|
+
summary "This is a summary with params.", params
|
|
150
|
+
end
|
|
149
151
|
|
|
150
|
-
#
|
|
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("single_event.ics")
|
|
152
161
|
|
|
153
162
|
# Parser returns an array of calendars because a single file
|
|
154
|
-
# can have multiple
|
|
155
|
-
cals = Icalendar
|
|
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 "
|
|
170
|
+
puts "start date-time: " + event.dtstart
|
|
162
171
|
puts "summary: " + event.summary
|
|
163
172
|
</pre>
|
|
164
|
-
<h2>
|
|
173
|
+
<h2>Finders:</h2>
|
|
174
|
+
<p>
|
|
175
|
+
Often times in web apps and other interactive applications you’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
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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’ll want to do,
|
|
194
|
+
but please send me example code or let me know what’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
|
-
|
|
216
|
+
It’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>
|