gcalapi 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,111 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: GoogleCalendar::AuthenticationFailed</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">GoogleCalendar::AuthenticationFailed</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/googlecalendar/service_rb.html">
59
+ lib/googlecalendar/service.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ StandardError
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+
86
+ </div>
87
+
88
+
89
+ <!-- if includes -->
90
+
91
+ <div id="section">
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+ <!-- if method_list -->
101
+
102
+
103
+ </div>
104
+
105
+
106
+ <div id="validator-badges">
107
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
108
+ </div>
109
+
110
+ </body>
111
+ </html>
@@ -0,0 +1,204 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: GoogleCalendar::Calendar</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">GoogleCalendar::Calendar</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/googlecalendar/calendar_rb.html">
59
+ lib/googlecalendar/calendar.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+ <div id="description">
82
+ <h1>SUMMARY</h1>
83
+ <pre>
84
+ This class represents User's Calendar.
85
+ </pre>
86
+ <h1>How to get this class</h1>
87
+ <ul>
88
+ <li>get calendar list
89
+
90
+ <pre>
91
+ srv = GoogleCalendar::Service.new(MAIL, PASS)
92
+ cal_list = srv.calendars
93
+
94
+ cal_list is a hash of user's calendars.
95
+ key: a calendar's editable feed url.
96
+ value: calendar object.
97
+ </pre>
98
+ </li>
99
+ <li>create an instance from calendar&#8217;s feed url
100
+
101
+ <pre>
102
+ srv = GoogleCalendar::Service.new(MAIL, PASS)
103
+ cal = Calendar.new(srv, FEED)
104
+ </pre>
105
+ </li>
106
+ </ul>
107
+
108
+ </div>
109
+
110
+
111
+ </div>
112
+
113
+ <div id="method-list">
114
+ <h3 class="section-bar">Methods</h3>
115
+
116
+ <div class="name-list">
117
+ <a href="#M000012">calendars</a>&nbsp;&nbsp;
118
+ </div>
119
+ </div>
120
+
121
+ </div>
122
+
123
+
124
+ <!-- if includes -->
125
+
126
+ <div id="section">
127
+
128
+
129
+ <div id="constants-list">
130
+ <h3 class="section-bar">Constants</h3>
131
+
132
+ <div class="name-list">
133
+ <table summary="Constants">
134
+ <tr class="top-aligned-row context-row">
135
+ <td class="context-item-name">ATTRIBUTES</td>
136
+ <td>=</td>
137
+ <td class="context-item-value">{ &quot;updated&quot; =&gt; [&quot;updated&quot;], &quot;title&quot; =&gt; [&quot;title&quot;], &quot;subtitle&quot; =&gt; [&quot;subtitle&quot;], &quot;name&quot; =&gt; [&quot;author/name&quot;], &quot;email&quot; =&gt; [&quot;author/email&quot;], &quot;timezone&quot; =&gt; [&quot;gCal:timezone&quot;, &quot;value&quot;], &quot;where&quot; =&gt; [&quot;gd:where&quot;, &quot;valueString&quot;]}.each do |key, val| module_eval( &quot;def #{key}; self.source.root.elements[\&quot;#{val[0]}\&quot;].&quot; + (val.length == 1 ? &quot;text&quot; : &quot;attributes[\&quot;#{val[1]}\&quot;]&quot;) + &quot;; end&quot;</td>
138
+ <td width="3em">&nbsp;</td>
139
+ <td class="context-item-desc">
140
+ defines calendar&#8217;s readonly attributes
141
+
142
+ </td>
143
+ </tr>
144
+ </table>
145
+ </div>
146
+ </div>
147
+
148
+
149
+
150
+
151
+
152
+
153
+ <!-- if method_list -->
154
+ <div id="methods">
155
+ <h3 class="section-bar">Public Class methods</h3>
156
+
157
+ <div id="method-M000012" class="method-detail">
158
+ <a name="M000012"></a>
159
+
160
+ <div class="method-heading">
161
+ <a href="#M000012" class="method-signature">
162
+ <span class="method-name">calendars</span><span class="method-args">(srv)</span>
163
+ </a>
164
+ </div>
165
+
166
+ <div class="method-description">
167
+ <p>
168
+ get user&#8217;s calendar list.
169
+ </p>
170
+ <p><a class="source-toggle" href="#"
171
+ onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
172
+ <div class="method-source-code" id="M000012-source">
173
+ <pre>
174
+ <span class="ruby-comment cmt"># File lib/googlecalendar/calendar.rb, line 30</span>
175
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">calendars</span>(<span class="ruby-identifier">srv</span>)
176
+ <span class="ruby-identifier">ret</span> = <span class="ruby-identifier">srv</span>.<span class="ruby-identifier">calendar_list</span>
177
+ <span class="ruby-identifier">list</span> = <span class="ruby-constant">REXML</span><span class="ruby-operator">::</span><span class="ruby-constant">Document</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">ret</span>.<span class="ruby-identifier">body</span>)
178
+ <span class="ruby-identifier">h</span> = {}
179
+ <span class="ruby-identifier">list</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">elements</span>.<span class="ruby-identifier">each</span>(<span class="ruby-value str">&quot;entry/link&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
180
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">&quot;rel&quot;</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;alternate&quot;</span>
181
+ <span class="ruby-identifier">feed</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">attributes</span>[<span class="ruby-value str">&quot;href&quot;</span>]
182
+ <span class="ruby-identifier">h</span>[<span class="ruby-identifier">feed</span>] = <span class="ruby-constant">Calendar</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">srv</span>, <span class="ruby-identifier">feed</span>)
183
+ <span class="ruby-keyword kw">end</span>
184
+ <span class="ruby-keyword kw">end</span>
185
+ <span class="ruby-identifier">h</span>
186
+ <span class="ruby-keyword kw">end</span>
187
+ </pre>
188
+ </div>
189
+ </div>
190
+ </div>
191
+
192
+
193
+ </div>
194
+
195
+
196
+ </div>
197
+
198
+
199
+ <div id="validator-badges">
200
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
201
+ </div>
202
+
203
+ </body>
204
+ </html>
@@ -0,0 +1,511 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: GoogleCalendar::Event</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">GoogleCalendar::Event</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/googlecalendar/event_rb.html">
59
+ lib/googlecalendar/event.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+ <div id="description">
82
+ <h1>Summary</h1>
83
+ <pre>
84
+ this class represents an event of a calendar.
85
+ </pre>
86
+ <h1>How to use this class</h1>
87
+ <ul>
88
+ <li>MAIL: your gmail account.
89
+
90
+ </li>
91
+ <li>PASS: password for MAIL.
92
+
93
+ </li>
94
+ <li>FEED: a calendar&#8217;s editable feed url.
95
+
96
+ <ol>
97
+ <li>click &quot;Manage Calendars&quot; in Google <a
98
+ href="Calendar.html">Calendar</a>.
99
+
100
+ </li>
101
+ <li>select a calendar you want to edit.
102
+
103
+ </li>
104
+ <li>copy private address of XML.
105
+
106
+ </li>
107
+ <li>change the address&#8217;s end into &quot;/private/full&quot;. If your
108
+ calendar&#8217;s private XML address is
109
+
110
+ <pre>
111
+ &quot;http://www.google.com/calendar/feeds/XXX@group.calendar.google.com/private-aaaaaa/basic&quot;,
112
+ </pre>
113
+ <p>
114
+ the editable feed url is
115
+ </p>
116
+ <pre>
117
+ &quot;http://www.google.com/calendar/feeds/XXX@group.calendar.google.com/private/full&quot;.
118
+ </pre>
119
+ </li>
120
+ <li>for detail, See <a
121
+ href="http://code.google.com/apis/gdata/calendar.html#Visibility">code.google.com/apis/gdata/calendar.html#Visibility</a>.
122
+
123
+ </li>
124
+ </ol>
125
+ </li>
126
+ </ul>
127
+ <h2>create new events</h2>
128
+ <pre>
129
+ cal = Calendar.new(Service.new(MAIL, PASS), FEED)
130
+ event = cal.create_event
131
+ event.title = &quot;event title&quot;
132
+ event.desc = &quot;event description&quot;
133
+ event.where = &quot;event location&quot;
134
+ event.st = Time.mktime(2006, 9, 21, 01, 0, 0)
135
+ event.en = Time.mktime(2006, 9, 21, 03, 0, 0)
136
+ event.save!
137
+ </pre>
138
+ <h2>udpate existing events</h2>
139
+ <pre>
140
+ cal = Calendar.new(Service.new(MAIL, PASS), FEED)
141
+ event = cal.events[0]
142
+ event.title = &quot;event title&quot;
143
+ event.desc = &quot;event description&quot;
144
+ event.where = &quot;event location&quot;
145
+ event.st = Time.mktime(2006, 9, 21, 01, 0, 0)
146
+ event.en = Time.mktime(2006, 9, 21, 03, 0, 0)
147
+ event.save!
148
+ </pre>
149
+ <h2>delete events</h2>
150
+ <pre>
151
+ cal = Calendar.new(Service.new(MAIL, PASS), FEED)
152
+ event = cal.events[0]
153
+ event.destroy!
154
+ </pre>
155
+ <h2>create all day events.</h2>
156
+ <pre>
157
+ event = cal.create_event
158
+ event.title = &quot;1 days event&quot;
159
+ event.st = Time.mktime(2006, 9, 22)
160
+ event.en = Time.mktime(2006, 9, 23)
161
+ event.allday = true
162
+ event.save!
163
+
164
+ event = cal.create_event
165
+ event.title = &quot;2 days event&quot;
166
+ event.st = Time.mktime(2006, 9, 22)
167
+ event.en = Time.mktime(2006, 9, 24)
168
+ event.allday = true
169
+ event.save!
170
+ </pre>
171
+ <h1>TODO</h1>
172
+ <ul>
173
+ <li>this class doesn&#8217;t support recurring event.
174
+
175
+ </li>
176
+ </ul>
177
+
178
+ </div>
179
+
180
+
181
+ </div>
182
+
183
+ <div id="method-list">
184
+ <h3 class="section-bar">Methods</h3>
185
+
186
+ <div class="name-list">
187
+ <a href="#M000009">destroy</a>&nbsp;&nbsp;
188
+ <a href="#M000010">destroy!</a>&nbsp;&nbsp;
189
+ <a href="#M000006">load_xml</a>&nbsp;&nbsp;
190
+ <a href="#M000005">new</a>&nbsp;&nbsp;
191
+ <a href="#M000007">save</a>&nbsp;&nbsp;
192
+ <a href="#M000008">save!</a>&nbsp;&nbsp;
193
+ <a href="#M000011">to_s</a>&nbsp;&nbsp;
194
+ </div>
195
+ </div>
196
+
197
+ </div>
198
+
199
+
200
+ <!-- if includes -->
201
+
202
+ <div id="section">
203
+
204
+
205
+ <div id="constants-list">
206
+ <h3 class="section-bar">Constants</h3>
207
+
208
+ <div class="name-list">
209
+ <table summary="Constants">
210
+ <tr class="top-aligned-row context-row">
211
+ <td class="context-item-name">ATTRIBUTES_MAP</td>
212
+ <td>=</td>
213
+ <td class="context-item-value">{
214
  &quot;title&quot; =&gt; { &quot;element&quot; =&gt; &quot;title&quot;},
1
215
  &quot;desc&quot; =&gt; { &quot;element&quot; =&gt; &quot;content&quot;},
2
216
  &quot;where&quot; =&gt; { &quot;element&quot; =&gt; &quot;gd:where&quot;, &quot;attribute&quot; =&gt; &quot;valueString&quot; },
3
217
  &quot;st&quot; =&gt; { &quot;element&quot; =&gt; &quot;gd:when&quot;, &quot;attribute&quot; =&gt; &quot;startTime&quot;, &quot;to_xml&quot; =&gt; &quot;time_to_str&quot;, &quot;from_xml&quot; =&gt; &quot;str_to_time&quot; },
4
218
  &quot;en&quot; =&gt; { &quot;element&quot; =&gt; &quot;gd:when&quot;, &quot;attribute&quot; =&gt; &quot;endTime&quot;, &quot;to_xml&quot; =&gt; &quot;time_to_str&quot;, &quot;from_xml&quot; =&gt; &quot;str_to_time&quot; }</td>
219
+ </tr>
220
+ <tr class="top-aligned-row context-row">
221
+ <td class="context-item-name">SKELTON</td>
222
+ <td>=</td>
223
+ <td class="context-item-value">&lt;&lt;XML
5
224
  &lt;?xml version='1.0' encoding='UTF-8'?&gt;
6
225
  &lt;entry xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005'&gt;
7
226
  &lt;category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/g/2005#event'&gt;&lt;/category&gt;
8
227
  &lt;title type='text'&gt;&lt;/title&gt;
9
228
  &lt;content type='text'&gt;&lt;/content&gt;
10
229
  &lt;gd:transparency value='http://schemas.google.com/g/2005#event.opaque'&gt;&lt;/gd:transparency&gt;
11
230
  &lt;gd:eventStatus value='http://schemas.google.com/g/2005#event.confirmed'&gt;&lt;/gd:eventStatus&gt;
12
231
  &lt;/entry&gt;
13
232
  XML</td>
233
+ </tr>
234
+ </table>
235
+ </div>
236
+ </div>
237
+
238
+
239
+
240
+ <div id="attribute-list">
241
+ <h3 class="section-bar">Attributes</h3>
242
+
243
+ <div class="name-list">
244
+ <table>
245
+ <tr class="top-aligned-row context-row">
246
+ <td class="context-item-name">allday</td>
247
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
248
+ <td class="context-item-desc"></td>
249
+ </tr>
250
+ <tr class="top-aligned-row context-row">
251
+ <td class="context-item-name">desc</td>
252
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
253
+ <td class="context-item-desc"></td>
254
+ </tr>
255
+ <tr class="top-aligned-row context-row">
256
+ <td class="context-item-name">en</td>
257
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
258
+ <td class="context-item-desc"></td>
259
+ </tr>
260
+ <tr class="top-aligned-row context-row">
261
+ <td class="context-item-name">feed</td>
262
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
263
+ <td class="context-item-desc"></td>
264
+ </tr>
265
+ <tr class="top-aligned-row context-row">
266
+ <td class="context-item-name">srv</td>
267
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
268
+ <td class="context-item-desc"></td>
269
+ </tr>
270
+ <tr class="top-aligned-row context-row">
271
+ <td class="context-item-name">st</td>
272
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
273
+ <td class="context-item-desc"></td>
274
+ </tr>
275
+ <tr class="top-aligned-row context-row">
276
+ <td class="context-item-name">status</td>
277
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
278
+ <td class="context-item-desc"></td>
279
+ </tr>
280
+ <tr class="top-aligned-row context-row">
281
+ <td class="context-item-name">title</td>
282
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
283
+ <td class="context-item-desc"></td>
284
+ </tr>
285
+ <tr class="top-aligned-row context-row">
286
+ <td class="context-item-name">where</td>
287
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
288
+ <td class="context-item-desc"></td>
289
+ </tr>
290
+ <tr class="top-aligned-row context-row">
291
+ <td class="context-item-name">xml</td>
292
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
293
+ <td class="context-item-desc"></td>
294
+ </tr>
295
+ </table>
296
+ </div>
297
+ </div>
298
+
299
+
300
+
301
+ <!-- if method_list -->
302
+ <div id="methods">
303
+ <h3 class="section-bar">Public Class methods</h3>
304
+
305
+ <div id="method-M000005" class="method-detail">
306
+ <a name="M000005"></a>
307
+
308
+ <div class="method-heading">
309
+ <a href="#M000005" class="method-signature">
310
+ <span class="method-name">new</span><span class="method-args">()</span>
311
+ </a>
312
+ </div>
313
+
314
+ <div class="method-description">
315
+ <p><a class="source-toggle" href="#"
316
+ onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
317
+ <div class="method-source-code" id="M000005-source">
318
+ <pre>
319
+ <span class="ruby-comment cmt"># File lib/googlecalendar/event.rb, line 101</span>
320
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>()
321
+ <span class="ruby-ivar">@xml</span> = <span class="ruby-keyword kw">nil</span>
322
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">:new</span>
323
+ <span class="ruby-keyword kw">end</span>
324
+ </pre>
325
+ </div>
326
+ </div>
327
+ </div>
328
+
329
+ <h3 class="section-bar">Public Instance methods</h3>
330
+
331
+ <div id="method-M000009" class="method-detail">
332
+ <a name="M000009"></a>
333
+
334
+ <div class="method-heading">
335
+ <a href="#M000009" class="method-signature">
336
+ <span class="method-name">destroy</span><span class="method-args">()</span>
337
+ </a>
338
+ </div>
339
+
340
+ <div class="method-description">
341
+ <p>
342
+ same as destroy! If failed, this method returns false.
343
+ </p>
344
+ <p><a class="source-toggle" href="#"
345
+ onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
346
+ <div class="method-source-code" id="M000009-source">
347
+ <pre>
348
+ <span class="ruby-comment cmt"># File lib/googlecalendar/event.rb, line 137</span>
349
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">destroy</span>
350
+ <span class="ruby-identifier">do_without_exception</span>(<span class="ruby-identifier">:destroy!</span>)
351
+ <span class="ruby-keyword kw">end</span>
352
+ </pre>
353
+ </div>
354
+ </div>
355
+ </div>
356
+
357
+ <div id="method-M000010" class="method-detail">
358
+ <a name="M000010"></a>
359
+
360
+ <div class="method-heading">
361
+ <a href="#M000010" class="method-signature">
362
+ <span class="method-name">destroy!</span><span class="method-args">()</span>
363
+ </a>
364
+ </div>
365
+
366
+ <div class="method-description">
367
+ <p>
368
+ delete this event from google calendar server. If failed, this method
369
+ throws an Exception.
370
+ </p>
371
+ <p><a class="source-toggle" href="#"
372
+ onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
373
+ <div class="method-source-code" id="M000010-source">
374
+ <pre>
375
+ <span class="ruby-comment cmt"># File lib/googlecalendar/event.rb, line 142</span>
376
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">destroy!</span>
377
+ <span class="ruby-identifier">ret</span> = <span class="ruby-keyword kw">nil</span>
378
+ <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:old</span>
379
+ <span class="ruby-identifier">ret</span> = <span class="ruby-ivar">@srv</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">feed</span>)
380
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">EventDeleteFailed</span>, <span class="ruby-value str">&quot;Not Deleted&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;200&quot;</span>
381
+ <span class="ruby-keyword kw">else</span>
382
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">EventDeleteFailed</span>, <span class="ruby-value str">&quot;Not Saved&quot;</span>
383
+ <span class="ruby-keyword kw">end</span>
384
+ <span class="ruby-identifier">status</span> = <span class="ruby-identifier">:deleted</span>
385
+ <span class="ruby-keyword kw">end</span>
386
+ </pre>
387
+ </div>
388
+ </div>
389
+ </div>
390
+
391
+ <div id="method-M000006" class="method-detail">
392
+ <a name="M000006"></a>
393
+
394
+ <div class="method-heading">
395
+ <a href="#M000006" class="method-signature">
396
+ <span class="method-name">load_xml</span><span class="method-args">(str)</span>
397
+ </a>
398
+ </div>
399
+
400
+ <div class="method-description">
401
+ <p>
402
+ load xml into this instance
403
+ </p>
404
+ <p><a class="source-toggle" href="#"
405
+ onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
406
+ <div class="method-source-code" id="M000006-source">
407
+ <pre>
408
+ <span class="ruby-comment cmt"># File lib/googlecalendar/event.rb, line 107</span>
409
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_xml</span>(<span class="ruby-identifier">str</span>)
410
+ <span class="ruby-ivar">@xml</span> = <span class="ruby-constant">REXML</span><span class="ruby-operator">::</span><span class="ruby-constant">Document</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">str</span>.<span class="ruby-identifier">to_s</span>)
411
+ <span class="ruby-identifier">xml_to_instance</span>
412
+ <span class="ruby-keyword kw">self</span>
413
+ <span class="ruby-keyword kw">end</span>
414
+ </pre>
415
+ </div>
416
+ </div>
417
+ </div>
418
+
419
+ <div id="method-M000007" class="method-detail">
420
+ <a name="M000007"></a>
421
+
422
+ <div class="method-heading">
423
+ <a href="#M000007" class="method-signature">
424
+ <span class="method-name">save</span><span class="method-args">()</span>
425
+ </a>
426
+ </div>
427
+
428
+ <div class="method-description">
429
+ <p>
430
+ same as save! If failed, this method returns false.
431
+ </p>
432
+ <p><a class="source-toggle" href="#"
433
+ onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
434
+ <div class="method-source-code" id="M000007-source">
435
+ <pre>
436
+ <span class="ruby-comment cmt"># File lib/googlecalendar/event.rb, line 114</span>
437
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">save</span>
438
+ <span class="ruby-identifier">do_without_exception</span>(<span class="ruby-identifier">:save!</span>)
439
+ <span class="ruby-keyword kw">end</span>
440
+ </pre>
441
+ </div>
442
+ </div>
443
+ </div>
444
+
445
+ <div id="method-M000008" class="method-detail">
446
+ <a name="M000008"></a>
447
+
448
+ <div class="method-heading">
449
+ <a href="#M000008" class="method-signature">
450
+ <span class="method-name">save!</span><span class="method-args">()</span>
451
+ </a>
452
+ </div>
453
+
454
+ <div class="method-description">
455
+ <p>
456
+ save this event into google calendar server. If failed, this method throws
457
+ an Exception.
458
+ </p>
459
+ <p><a class="source-toggle" href="#"
460
+ onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
461
+ <div class="method-source-code" id="M000008-source">
462
+ <pre>
463
+ <span class="ruby-comment cmt"># File lib/googlecalendar/event.rb, line 119</span>
464
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">save!</span>
465
+ <span class="ruby-identifier">ret</span> = <span class="ruby-keyword kw">nil</span>
466
+ <span class="ruby-keyword kw">case</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">status</span>
467
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:new</span>
468
+ <span class="ruby-identifier">ret</span> = <span class="ruby-ivar">@srv</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">feed</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_s</span>)
469
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">EventInsertFailed</span>, <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">body</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;201&quot;</span>
470
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:old</span>
471
+ <span class="ruby-identifier">ret</span> = <span class="ruby-ivar">@srv</span>.<span class="ruby-identifier">update</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">feed</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_s</span>)
472
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">EventUpdateFailed</span>, <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">body</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;200&quot;</span>
473
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:deleted</span>
474
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">EventDeleteFailed</span>, <span class="ruby-value str">&quot;already deleted&quot;</span>
475
+ <span class="ruby-keyword kw">else</span>
476
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">StandardError</span>, <span class="ruby-value str">&quot;invalid inner status&quot;</span>
477
+ <span class="ruby-keyword kw">end</span>
478
+ <span class="ruby-identifier">load_xml</span>(<span class="ruby-identifier">ret</span>.<span class="ruby-identifier">body</span>)
479
+ <span class="ruby-keyword kw">end</span>
480
+ </pre>
481
+ </div>
482
+ </div>
483
+ </div>
484
+
485
+ <div id="method-M000011" class="method-detail">
486
+ <a name="M000011"></a>
487
+
488
+ <div class="method-heading">
489
+ <a href="#M000011" class="method-signature">
490
+ <span class="method-name">to_s</span><span class="method-args">()</span>
491
+ </a>
492
+ </div>
493
+
494
+ <div class="method-description">
495
+ <p>
496
+ retuns this event&#8217;s xml.
497
+ </p>
498
+ <p><a class="source-toggle" href="#"
499
+ onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
500
+ <div class="method-source-code" id="M000011-source">
501
+ <pre>
502
+ <span class="ruby-comment cmt"># File lib/googlecalendar/event.rb, line 154</span>
503
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
504
+ <span class="ruby-ivar">@xml</span> = <span class="ruby-constant">REXML</span><span class="ruby-operator">::</span><span class="ruby-constant">Document</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">SKELTON</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:new</span>
505
+ <span class="ruby-identifier">instance_to_xml</span>
506
+ <span class="ruby-ivar">@xml</span>.<span class="ruby-identifier">to_s</span>
507
+ <span class="ruby-keyword kw">end</span>
508
+ </pre>
509
+ </div>
510
+ </div>
511
+ </div>
512
+
513
+
514
+ </div>
515
+
516
+
517
+ </div>
518
+
519
+
520
+ <div id="validator-badges">
521
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
522
+ </div>
523
+
524
+ </body>
525
+ </html>