gcalapi 0.0.4 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. data/Rakefile +19 -15
  2. data/VERSION +1 -1
  3. data/example/mixi2gcal.rb +88 -0
  4. data/html/classes/GoogleCalendar.html +149 -280
  5. data/html/classes/GoogleCalendar/AuthSubFailed.html +165 -0
  6. data/html/classes/GoogleCalendar/AuthSubUtil.html +397 -0
  7. data/html/classes/GoogleCalendar/AuthenticationFailed.html +110 -110
  8. data/html/classes/GoogleCalendar/Calendar.html +381 -203
  9. data/html/classes/GoogleCalendar/Event.html +800 -510
  10. data/html/classes/GoogleCalendar/EventDeleteFailed.html +110 -110
  11. data/html/classes/GoogleCalendar/EventGetFailed.html +111 -0
  12. data/html/classes/GoogleCalendar/EventInsertFailed.html +110 -110
  13. data/html/classes/GoogleCalendar/EventUpdateFailed.html +110 -110
  14. data/html/classes/GoogleCalendar/InvalidCalendarURL.html +110 -110
  15. data/html/classes/GoogleCalendar/Service.html +305 -594
  16. data/html/classes/GoogleCalendar/ServiceAuthSub.html +181 -0
  17. data/html/classes/GoogleCalendar/ServiceBase.html +694 -0
  18. data/html/created.rid +1 -1
  19. data/html/files/README.html +116 -116
  20. data/html/files/lib/googlecalendar/auth_sub_util_rb.html +111 -0
  21. data/html/files/lib/googlecalendar/calendar_rb.html +109 -109
  22. data/html/files/lib/googlecalendar/event_rb.html +109 -109
  23. data/html/files/lib/googlecalendar/service_auth_sub_rb.html +108 -0
  24. data/html/files/lib/googlecalendar/service_base_rb.html +114 -0
  25. data/html/files/lib/googlecalendar/service_rb.html +107 -113
  26. data/html/fr_class_index.html +39 -34
  27. data/html/fr_file_index.html +32 -29
  28. data/html/fr_method_index.html +75 -52
  29. data/html/index.html +23 -23
  30. data/html/rdoc-style.css +207 -207
  31. data/lib/googlecalendar/auth_sub_util.rb +143 -0
  32. data/lib/googlecalendar/calendar.rb +48 -36
  33. data/lib/googlecalendar/event.rb +16 -11
  34. data/lib/googlecalendar/service.rb +30 -180
  35. data/lib/googlecalendar/service_auth_sub.rb +18 -0
  36. data/lib/googlecalendar/service_base.rb +197 -0
  37. data/test/00_service_test.rb +2 -1
  38. data/test/01_calendar_test.rb +1 -1
  39. data/test/02_event_test.rb +28 -1
  40. data/test/03_authsub_test.rb +119 -0
  41. data/test/base_unit.rb +3 -0
  42. metadata +105 -62
@@ -0,0 +1,181 @@
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::ServiceAuthSub</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::ServiceAuthSub</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/googlecalendar/service_auth_sub_rb.html">
59
+ lib/googlecalendar/service_auth_sub.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
+ <a href="ServiceBase.html">
69
+ ServiceBase
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+ <div id="description">
84
+ <p>
85
+ this class interacts with Google <a href="Calendar.html">Calendar</a> and
86
+ uses AuthSub interface for authentication.
87
+ </p>
88
+
89
+ </div>
90
+
91
+
92
+ </div>
93
+
94
+ <div id="method-list">
95
+ <h3 class="section-bar">Methods</h3>
96
+
97
+ <div class="name-list">
98
+ <a href="#M000002">add_authorize_header</a>&nbsp;&nbsp;
99
+ <a href="#M000001">new</a>&nbsp;&nbsp;
100
+ </div>
101
+ </div>
102
+
103
+ </div>
104
+
105
+
106
+ <!-- if includes -->
107
+
108
+ <div id="section">
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+ <!-- if method_list -->
118
+ <div id="methods">
119
+ <h3 class="section-bar">Public Class methods</h3>
120
+
121
+ <div id="method-M000001" class="method-detail">
122
+ <a name="M000001"></a>
123
+
124
+ <div class="method-heading">
125
+ <a href="#M000001" class="method-signature">
126
+ <span class="method-name">new</span><span class="method-args">(token)</span>
127
+ </a>
128
+ </div>
129
+
130
+ <div class="method-description">
131
+ <p><a class="source-toggle" href="#"
132
+ onclick="toggleCode('M000001-source');return false;">[Source]</a></p>
133
+ <div class="method-source-code" id="M000001-source">
134
+ <pre>
135
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_auth_sub.rb, line 9</span>
136
+ 9: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">token</span>)
137
+ 10: <span class="ruby-ivar">@auth</span> = <span class="ruby-identifier">token</span>
138
+ 11: <span class="ruby-keyword kw">end</span>
139
+ </pre>
140
+ </div>
141
+ </div>
142
+ </div>
143
+
144
+ <h3 class="section-bar">Private Instance methods</h3>
145
+
146
+ <div id="method-M000002" class="method-detail">
147
+ <a name="M000002"></a>
148
+
149
+ <div class="method-heading">
150
+ <a href="#M000002" class="method-signature">
151
+ <span class="method-name">add_authorize_header</span><span class="method-args">(header)</span>
152
+ </a>
153
+ </div>
154
+
155
+ <div class="method-description">
156
+ <p><a class="source-toggle" href="#"
157
+ onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
158
+ <div class="method-source-code" id="M000002-source">
159
+ <pre>
160
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_auth_sub.rb, line 14</span>
161
+ 14: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_authorize_header</span>(<span class="ruby-identifier">header</span>)
162
+ 15: <span class="ruby-identifier">header</span>[<span class="ruby-value str">&quot;Authorization&quot;</span>] = <span class="ruby-node">&quot;AuthSub token=#{@auth}&quot;</span>
163
+ 16: <span class="ruby-keyword kw">end</span>
164
+ </pre>
165
+ </div>
166
+ </div>
167
+ </div>
168
+
169
+
170
+ </div>
171
+
172
+
173
+ </div>
174
+
175
+
176
+ <div id="validator-badges">
177
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
178
+ </div>
179
+
180
+ </body>
181
+ </html>
@@ -0,0 +1,694 @@
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::ServiceBase</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::ServiceBase</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/googlecalendar/service_base_rb.html">
59
+ lib/googlecalendar/service_base.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
+ <p>
83
+ This class interacts with google calendar service.
84
+ </p>
85
+
86
+ </div>
87
+
88
+
89
+ </div>
90
+
91
+ <div id="method-list">
92
+ <h3 class="section-bar">Methods</h3>
93
+
94
+ <div class="name-list">
95
+ <a href="#M000041">auth</a>&nbsp;&nbsp;
96
+ <a href="#M000038">delete</a>&nbsp;&nbsp;
97
+ <a href="#M000043">do_get</a>&nbsp;&nbsp;
98
+ <a href="#M000042">do_post</a>&nbsp;&nbsp;
99
+ <a href="#M000039">insert</a>&nbsp;&nbsp;
100
+ <a href="#M000045">path_with_authorized_query</a>&nbsp;&nbsp;
101
+ <a href="#M000029">proxy_addr</a>&nbsp;&nbsp;
102
+ <a href="#M000030">proxy_addr=</a>&nbsp;&nbsp;
103
+ <a href="#M000035">proxy_pass</a>&nbsp;&nbsp;
104
+ <a href="#M000036">proxy_pass=</a>&nbsp;&nbsp;
105
+ <a href="#M000031">proxy_port</a>&nbsp;&nbsp;
106
+ <a href="#M000032">proxy_port=</a>&nbsp;&nbsp;
107
+ <a href="#M000033">proxy_user</a>&nbsp;&nbsp;
108
+ <a href="#M000034">proxy_user=</a>&nbsp;&nbsp;
109
+ <a href="#M000037">query</a>&nbsp;&nbsp;
110
+ <a href="#M000044">try_http</a>&nbsp;&nbsp;
111
+ <a href="#M000040">update</a>&nbsp;&nbsp;
112
+ </div>
113
+ </div>
114
+
115
+ </div>
116
+
117
+
118
+ <!-- if includes -->
119
+
120
+ <div id="section">
121
+
122
+
123
+ <div id="constants-list">
124
+ <h3 class="section-bar">Constants</h3>
125
+
126
+ <div class="name-list">
127
+ <table summary="Constants">
128
+ <tr class="top-aligned-row context-row">
129
+ <td class="context-item-name">AUTH_SERVER</td>
130
+ <td>=</td>
131
+ <td class="context-item-value">&quot;www.google.com&quot;</td>
132
+ <td width="3em">&nbsp;</td>
133
+ <td class="context-item-desc">
134
+ Server name to Authenticate
135
+
136
+ </td>
137
+ </tr>
138
+ </table>
139
+ </div>
140
+ </div>
141
+
142
+
143
+
144
+ <div id="attribute-list">
145
+ <h3 class="section-bar">Attributes</h3>
146
+
147
+ <div class="name-list">
148
+ <table>
149
+ <tr class="top-aligned-row context-row">
150
+ <td class="context-item-name">logger</td>
151
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
152
+ <td class="context-item-desc"></td>
153
+ </tr>
154
+ </table>
155
+ </div>
156
+ </div>
157
+
158
+
159
+
160
+ <!-- if method_list -->
161
+ <div id="methods">
162
+ <h3 class="section-bar">Public Class methods</h3>
163
+
164
+ <div id="method-M000029" class="method-detail">
165
+ <a name="M000029"></a>
166
+
167
+ <div class="method-heading">
168
+ <a href="#M000029" class="method-signature">
169
+ <span class="method-name">proxy_addr</span><span class="method-args">()</span>
170
+ </a>
171
+ </div>
172
+
173
+ <div class="method-description">
174
+ <p><a class="source-toggle" href="#"
175
+ onclick="toggleCode('M000029-source');return false;">[Source]</a></p>
176
+ <div class="method-source-code" id="M000029-source">
177
+ <pre>
178
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 24</span>
179
+ 24: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">proxy_addr</span>
180
+ 25: <span class="ruby-ivar">@@proxy_addr</span>
181
+ 26: <span class="ruby-keyword kw">end</span>
182
+ </pre>
183
+ </div>
184
+ </div>
185
+ </div>
186
+
187
+ <div id="method-M000030" class="method-detail">
188
+ <a name="M000030"></a>
189
+
190
+ <div class="method-heading">
191
+ <a href="#M000030" class="method-signature">
192
+ <span class="method-name">proxy_addr=</span><span class="method-args">(addr)</span>
193
+ </a>
194
+ </div>
195
+
196
+ <div class="method-description">
197
+ <p><a class="source-toggle" href="#"
198
+ onclick="toggleCode('M000030-source');return false;">[Source]</a></p>
199
+ <div class="method-source-code" id="M000030-source">
200
+ <pre>
201
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 28</span>
202
+ 28: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">proxy_addr=</span>(<span class="ruby-identifier">addr</span>)
203
+ 29: <span class="ruby-ivar">@@proxy_addr</span>=<span class="ruby-identifier">addr</span>
204
+ 30: <span class="ruby-keyword kw">end</span>
205
+ </pre>
206
+ </div>
207
+ </div>
208
+ </div>
209
+
210
+ <div id="method-M000035" class="method-detail">
211
+ <a name="M000035"></a>
212
+
213
+ <div class="method-heading">
214
+ <a href="#M000035" class="method-signature">
215
+ <span class="method-name">proxy_pass</span><span class="method-args">()</span>
216
+ </a>
217
+ </div>
218
+
219
+ <div class="method-description">
220
+ <p><a class="source-toggle" href="#"
221
+ onclick="toggleCode('M000035-source');return false;">[Source]</a></p>
222
+ <div class="method-source-code" id="M000035-source">
223
+ <pre>
224
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 54</span>
225
+ 54: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">proxy_pass</span>
226
+ 55: <span class="ruby-ivar">@@proxy_pass</span>
227
+ 56: <span class="ruby-keyword kw">end</span>
228
+ </pre>
229
+ </div>
230
+ </div>
231
+ </div>
232
+
233
+ <div id="method-M000036" class="method-detail">
234
+ <a name="M000036"></a>
235
+
236
+ <div class="method-heading">
237
+ <a href="#M000036" class="method-signature">
238
+ <span class="method-name">proxy_pass=</span><span class="method-args">(pass)</span>
239
+ </a>
240
+ </div>
241
+
242
+ <div class="method-description">
243
+ <p><a class="source-toggle" href="#"
244
+ onclick="toggleCode('M000036-source');return false;">[Source]</a></p>
245
+ <div class="method-source-code" id="M000036-source">
246
+ <pre>
247
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 58</span>
248
+ 58: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">proxy_pass=</span>(<span class="ruby-identifier">pass</span>)
249
+ 59: <span class="ruby-ivar">@@proxy_pass</span> = <span class="ruby-identifier">pass</span>
250
+ 60: <span class="ruby-keyword kw">end</span>
251
+ </pre>
252
+ </div>
253
+ </div>
254
+ </div>
255
+
256
+ <div id="method-M000031" class="method-detail">
257
+ <a name="M000031"></a>
258
+
259
+ <div class="method-heading">
260
+ <a href="#M000031" class="method-signature">
261
+ <span class="method-name">proxy_port</span><span class="method-args">()</span>
262
+ </a>
263
+ </div>
264
+
265
+ <div class="method-description">
266
+ <p><a class="source-toggle" href="#"
267
+ onclick="toggleCode('M000031-source');return false;">[Source]</a></p>
268
+ <div class="method-source-code" id="M000031-source">
269
+ <pre>
270
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 34</span>
271
+ 34: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">proxy_port</span>
272
+ 35: <span class="ruby-ivar">@@proxy_port</span>
273
+ 36: <span class="ruby-keyword kw">end</span>
274
+ </pre>
275
+ </div>
276
+ </div>
277
+ </div>
278
+
279
+ <div id="method-M000032" class="method-detail">
280
+ <a name="M000032"></a>
281
+
282
+ <div class="method-heading">
283
+ <a href="#M000032" class="method-signature">
284
+ <span class="method-name">proxy_port=</span><span class="method-args">(port)</span>
285
+ </a>
286
+ </div>
287
+
288
+ <div class="method-description">
289
+ <p><a class="source-toggle" href="#"
290
+ onclick="toggleCode('M000032-source');return false;">[Source]</a></p>
291
+ <div class="method-source-code" id="M000032-source">
292
+ <pre>
293
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 38</span>
294
+ 38: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">proxy_port=</span>(<span class="ruby-identifier">port</span>)
295
+ 39: <span class="ruby-ivar">@@proxy_port</span> = <span class="ruby-identifier">port</span>
296
+ 40: <span class="ruby-keyword kw">end</span>
297
+ </pre>
298
+ </div>
299
+ </div>
300
+ </div>
301
+
302
+ <div id="method-M000033" class="method-detail">
303
+ <a name="M000033"></a>
304
+
305
+ <div class="method-heading">
306
+ <a href="#M000033" class="method-signature">
307
+ <span class="method-name">proxy_user</span><span class="method-args">()</span>
308
+ </a>
309
+ </div>
310
+
311
+ <div class="method-description">
312
+ <p><a class="source-toggle" href="#"
313
+ onclick="toggleCode('M000033-source');return false;">[Source]</a></p>
314
+ <div class="method-source-code" id="M000033-source">
315
+ <pre>
316
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 44</span>
317
+ 44: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">proxy_user</span>
318
+ 45: <span class="ruby-ivar">@@proxy_user</span>
319
+ 46: <span class="ruby-keyword kw">end</span>
320
+ </pre>
321
+ </div>
322
+ </div>
323
+ </div>
324
+
325
+ <div id="method-M000034" class="method-detail">
326
+ <a name="M000034"></a>
327
+
328
+ <div class="method-heading">
329
+ <a href="#M000034" class="method-signature">
330
+ <span class="method-name">proxy_user=</span><span class="method-args">(user)</span>
331
+ </a>
332
+ </div>
333
+
334
+ <div class="method-description">
335
+ <p><a class="source-toggle" href="#"
336
+ onclick="toggleCode('M000034-source');return false;">[Source]</a></p>
337
+ <div class="method-source-code" id="M000034-source">
338
+ <pre>
339
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 48</span>
340
+ 48: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">proxy_user=</span>(<span class="ruby-identifier">user</span>)
341
+ 49: <span class="ruby-ivar">@@proxy_user</span> = <span class="ruby-identifier">user</span>
342
+ 50: <span class="ruby-keyword kw">end</span>
343
+ </pre>
344
+ </div>
345
+ </div>
346
+ </div>
347
+
348
+ <h3 class="section-bar">Public Instance methods</h3>
349
+
350
+ <div id="method-M000038" class="method-detail">
351
+ <a name="M000038"></a>
352
+
353
+ <div class="method-heading">
354
+ <a href="#M000038" class="method-signature">
355
+ <span class="method-name">delete</span><span class="method-args">(feed)</span>
356
+ </a>
357
+ </div>
358
+
359
+ <div class="method-description">
360
+ <p>
361
+ <a href="ServiceBase.html#M000038">delete</a> an event.
362
+ </p>
363
+ <p><a class="source-toggle" href="#"
364
+ onclick="toggleCode('M000038-source');return false;">[Source]</a></p>
365
+ <div class="method-source-code" id="M000038-source">
366
+ <pre>
367
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 95</span>
368
+ 95: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">feed</span>)
369
+ 96: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-value str">&quot;-- delete st --&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
370
+ 97: <span class="ruby-identifier">auth</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@auth</span>
371
+ 98: <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">feed</span>)
372
+ 99: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">do_post</span>(<span class="ruby-identifier">uri</span>,
373
+ 100: {<span class="ruby-value str">&quot;X-HTTP-Method-Override&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;DELETE&quot;</span>},
374
+ 101: <span class="ruby-value str">&quot;DELETE &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">path</span>)
375
+ 102: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;-- delete en (#{res.message}) --&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
376
+ 103: <span class="ruby-identifier">res</span>
377
+ 104: <span class="ruby-keyword kw">end</span>
378
+ </pre>
379
+ </div>
380
+ </div>
381
+ </div>
382
+
383
+ <div id="method-M000039" class="method-detail">
384
+ <a name="M000039"></a>
385
+
386
+ <div class="method-heading">
387
+ <a href="#M000039" class="method-signature">
388
+ <span class="method-name">insert</span><span class="method-args">(feed, event)</span>
389
+ </a>
390
+ </div>
391
+
392
+ <div class="method-description">
393
+ <p>
394
+ <a href="ServiceBase.html#M000039">insert</a> an event
395
+ </p>
396
+ <p><a class="source-toggle" href="#"
397
+ onclick="toggleCode('M000039-source');return false;">[Source]</a></p>
398
+ <div class="method-source-code" id="M000039-source">
399
+ <pre>
400
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 109</span>
401
+ 109: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">insert</span>(<span class="ruby-identifier">feed</span>, <span class="ruby-identifier">event</span>)
402
+ 110: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-value str">&quot;-- insert st --&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
403
+ 111: <span class="ruby-identifier">auth</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@auth</span>
404
+ 112: <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">feed</span>)
405
+ 113: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">do_post</span>(<span class="ruby-identifier">uri</span>,
406
+ 114: {<span class="ruby-value str">&quot;Content-Type&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;application/atom+xml&quot;</span>,
407
+ 115: <span class="ruby-value str">&quot;Content-Length&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">event</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">to_s</span>}, <span class="ruby-identifier">event</span>)
408
+ 116: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;-- insert en (#{res.message}) --&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
409
+ 117: <span class="ruby-identifier">res</span>
410
+ 118: <span class="ruby-keyword kw">end</span>
411
+ </pre>
412
+ </div>
413
+ </div>
414
+ </div>
415
+
416
+ <div id="method-M000037" class="method-detail">
417
+ <a name="M000037"></a>
418
+
419
+ <div class="method-heading">
420
+ <a href="#M000037" class="method-signature">
421
+ <span class="method-name">query</span><span class="method-args">(cal_url, conditions = nil)</span>
422
+ </a>
423
+ </div>
424
+
425
+ <div class="method-description">
426
+ <p>
427
+ send <a href="ServiceBase.html#M000037">query</a> for events of a calendar
428
+ and returns http response object. available condtions are
429
+ </p>
430
+ <ul>
431
+ <li>:q =&gt; <a href="ServiceBase.html#M000037">query</a> string
432
+
433
+ </li>
434
+ <li>:max-results =&gt; max contents count. (default: 25)
435
+
436
+ </li>
437
+ <li>:start-index =&gt; 1-based index of the first result to be retrieved
438
+
439
+ </li>
440
+ <li>:orderby =&gt; the order of retrieved data.
441
+
442
+ </li>
443
+ <li>:published-min =&gt; Bounds on the entry publication date(oldest)
444
+
445
+ </li>
446
+ <li>:published-max =&gt; Bounds on the entry publication date(newest)
447
+
448
+ </li>
449
+ <li>:updated-min =&gt; Bounds on the entry <a
450
+ href="ServiceBase.html#M000040">update</a> date(oldest)
451
+
452
+ </li>
453
+ <li>:updated-max =&gt; Bounds on the entry <a
454
+ href="ServiceBase.html#M000040">update</a> date(newest)
455
+
456
+ </li>
457
+ <li>:author =&gt; Entry author
458
+
459
+ </li>
460
+ </ul>
461
+ <p>
462
+ and so on. For detail, see <a
463
+ href="http://code.google.com/apis/gdata/protocol.html#Queries">code.google.com/apis/gdata/protocol.html#Queries</a>
464
+ </p>
465
+ <pre>
466
+ and http://code.google.com/apis/calendar/reference.html#Parameters
467
+ </pre>
468
+ <p><a class="source-toggle" href="#"
469
+ onclick="toggleCode('M000037-source');return false;">[Source]</a></p>
470
+ <div class="method-source-code" id="M000037-source">
471
+ <pre>
472
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 80</span>
473
+ 80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query</span>(<span class="ruby-identifier">cal_url</span>, <span class="ruby-identifier">conditions</span> = <span class="ruby-keyword kw">nil</span>)
474
+ 81: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-value str">&quot;-- query st --&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
475
+ 82: <span class="ruby-identifier">auth</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@auth</span>
476
+ 83: <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">cal_url</span>)
477
+ 84: <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-identifier">conditions</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
478
+ 85: <span class="ruby-node">&quot;#{key}=#{URI.escape(val.kind_of?(Time) ? val.getutc.iso8601 : val.to_s)}&quot;</span>
479
+ 86: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;&amp;&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">conditions</span>.<span class="ruby-identifier">nil?</span>
480
+ 87: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">do_get</span>(<span class="ruby-identifier">uri</span>, {})
481
+ 88: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;-- query en (#{res.message}) --&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
482
+ 89: <span class="ruby-identifier">res</span>
483
+ 90: <span class="ruby-keyword kw">end</span>
484
+ </pre>
485
+ </div>
486
+ </div>
487
+ </div>
488
+
489
+ <div id="method-M000040" class="method-detail">
490
+ <a name="M000040"></a>
491
+
492
+ <div class="method-heading">
493
+ <a href="#M000040" class="method-signature">
494
+ <span class="method-name">update</span><span class="method-args">(feed, event)</span>
495
+ </a>
496
+ </div>
497
+
498
+ <div class="method-description">
499
+ <p>
500
+ <a href="ServiceBase.html#M000040">update</a> an event.
501
+ </p>
502
+ <p><a class="source-toggle" href="#"
503
+ onclick="toggleCode('M000040-source');return false;">[Source]</a></p>
504
+ <div class="method-source-code" id="M000040-source">
505
+ <pre>
506
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 123</span>
507
+ 123: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update</span>(<span class="ruby-identifier">feed</span>, <span class="ruby-identifier">event</span>)
508
+ 124: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-value str">&quot;-- update st --&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
509
+ 125: <span class="ruby-identifier">auth</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@auth</span>
510
+ 126: <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">feed</span>)
511
+ 127: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">do_post</span>(<span class="ruby-identifier">uri</span>,
512
+ 128: {<span class="ruby-value str">&quot;X-HTTP-Method-Override&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;PUT&quot;</span>,
513
+ 129: <span class="ruby-value str">&quot;Content-Type&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;application/atom+xml&quot;</span>,
514
+ 130: <span class="ruby-value str">&quot;Content-Length&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">event</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">to_s</span>}, <span class="ruby-identifier">event</span>)
515
+ 131: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;-- update en (#{res.message}) --&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
516
+ 132: <span class="ruby-identifier">res</span>
517
+ 133: <span class="ruby-keyword kw">end</span>
518
+ </pre>
519
+ </div>
520
+ </div>
521
+ </div>
522
+
523
+ <h3 class="section-bar">Private Instance methods</h3>
524
+
525
+ <div id="method-M000041" class="method-detail">
526
+ <a name="M000041"></a>
527
+
528
+ <div class="method-heading">
529
+ <a href="#M000041" class="method-signature">
530
+ <span class="method-name">auth</span><span class="method-args">()</span>
531
+ </a>
532
+ </div>
533
+
534
+ <div class="method-description">
535
+ <p>
536
+ authencate
537
+ </p>
538
+ <p><a class="source-toggle" href="#"
539
+ onclick="toggleCode('M000041-source');return false;">[Source]</a></p>
540
+ <div class="method-source-code" id="M000041-source">
541
+ <pre>
542
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 138</span>
543
+ 138: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">auth</span>
544
+ 139: <span class="ruby-identifier">raise</span> <span class="ruby-constant">AuthenticationFailed</span>
545
+ 140: <span class="ruby-keyword kw">end</span>
546
+ </pre>
547
+ </div>
548
+ </div>
549
+ </div>
550
+
551
+ <div id="method-M000043" class="method-detail">
552
+ <a name="M000043"></a>
553
+
554
+ <div class="method-heading">
555
+ <a href="#M000043" class="method-signature">
556
+ <span class="method-name">do_get</span><span class="method-args">(uri, header)</span>
557
+ </a>
558
+ </div>
559
+
560
+ <div class="method-description">
561
+ <p><a class="source-toggle" href="#"
562
+ onclick="toggleCode('M000043-source');return false;">[Source]</a></p>
563
+ <div class="method-source-code" id="M000043-source">
564
+ <pre>
565
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 152</span>
566
+ 152: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_get</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">header</span>)
567
+ 153: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;GET:&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
568
+ 154: <span class="ruby-identifier">res</span> = <span class="ruby-keyword kw">nil</span>
569
+ 155: <span class="ruby-identifier">try_http</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">header</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">http</span>,<span class="ruby-identifier">path</span>,<span class="ruby-identifier">head</span><span class="ruby-operator">|</span>
570
+ 156: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">http</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">head</span>)
571
+ 157: <span class="ruby-keyword kw">end</span>
572
+ 158: <span class="ruby-identifier">res</span>
573
+ 159: <span class="ruby-keyword kw">end</span>
574
+ </pre>
575
+ </div>
576
+ </div>
577
+ </div>
578
+
579
+ <div id="method-M000042" class="method-detail">
580
+ <a name="M000042"></a>
581
+
582
+ <div class="method-heading">
583
+ <a href="#M000042" class="method-signature">
584
+ <span class="method-name">do_post</span><span class="method-args">(uri, header, content)</span>
585
+ </a>
586
+ </div>
587
+
588
+ <div class="method-description">
589
+ <p><a class="source-toggle" href="#"
590
+ onclick="toggleCode('M000042-source');return false;">[Source]</a></p>
591
+ <div class="method-source-code" id="M000042-source">
592
+ <pre>
593
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 142</span>
594
+ 142: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_post</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">header</span>, <span class="ruby-identifier">content</span>)
595
+ 143: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;POST:&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
596
+ 144: <span class="ruby-identifier">res</span> = <span class="ruby-keyword kw">nil</span>
597
+ 145: <span class="ruby-identifier">try_http</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">header</span>, <span class="ruby-identifier">content</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">http</span>,<span class="ruby-identifier">path</span>,<span class="ruby-identifier">head</span>,<span class="ruby-identifier">args</span><span class="ruby-operator">|</span>
598
+ 146: <span class="ruby-identifier">cont</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
599
+ 147: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">http</span>.<span class="ruby-identifier">post</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">cont</span>, <span class="ruby-identifier">head</span>)
600
+ 148: <span class="ruby-keyword kw">end</span>
601
+ 149: <span class="ruby-identifier">res</span>
602
+ 150: <span class="ruby-keyword kw">end</span>
603
+ </pre>
604
+ </div>
605
+ </div>
606
+ </div>
607
+
608
+ <div id="method-M000045" class="method-detail">
609
+ <a name="M000045"></a>
610
+
611
+ <div class="method-heading">
612
+ <a href="#M000045" class="method-signature">
613
+ <span class="method-name">path_with_authorized_query</span><span class="method-args">(uri)</span>
614
+ </a>
615
+ </div>
616
+
617
+ <div class="method-description">
618
+ <p><a class="source-toggle" href="#"
619
+ onclick="toggleCode('M000045-source');return false;">[Source]</a></p>
620
+ <div class="method-source-code" id="M000045-source">
621
+ <pre>
622
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 190</span>
623
+ 190: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">path_with_authorized_query</span>(<span class="ruby-identifier">uri</span>)
624
+ 191: <span class="ruby-identifier">query</span> = <span class="ruby-constant">CGI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-value">? </span><span class="ruby-value str">&quot;&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span>)
625
+ 192: <span class="ruby-identifier">query</span>[<span class="ruby-value str">&quot;gsessionid&quot;</span>] = [<span class="ruby-ivar">@session</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@session</span>
626
+ 193: <span class="ruby-identifier">qs</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;#{CGI.escape(k)}=#{CGI.escape(v[0])}&quot;</span> <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;&amp;&quot;</span>)
627
+ 194: <span class="ruby-identifier">qs</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-value">? </span><span class="ruby-identifier">uri</span>.<span class="ruby-identifier">path</span> <span class="ruby-operator">:</span> <span class="ruby-node">&quot;#{uri.path}?#{qs}&quot;</span>
628
+ 195: <span class="ruby-keyword kw">end</span>
629
+ </pre>
630
+ </div>
631
+ </div>
632
+ </div>
633
+
634
+ <div id="method-M000044" class="method-detail">
635
+ <a name="M000044"></a>
636
+
637
+ <div class="method-heading">
638
+ <a href="#M000044" class="method-signature">
639
+ <span class="method-name">try_http</span><span class="method-args">(uri, header, *args) {|http, path_with_authorized_query(uri, header, args)| ...}</span>
640
+ </a>
641
+ </div>
642
+
643
+ <div class="method-description">
644
+ <p><a class="source-toggle" href="#"
645
+ onclick="toggleCode('M000044-source');return false;">[Source]</a></p>
646
+ <div class="method-source-code" id="M000044-source">
647
+ <pre>
648
+ <span class="ruby-comment cmt"># File lib/googlecalendar/service_base.rb, line 161</span>
649
+ 161: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">try_http</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">header</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
650
+ 162: <span class="ruby-identifier">res</span> = <span class="ruby-keyword kw">nil</span>
651
+ 163: <span class="ruby-identifier">add_authorize_header</span>(<span class="ruby-identifier">header</span>)
652
+ 164: <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span>.<span class="ruby-identifier">start</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">host</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">port</span>, <span class="ruby-ivar">@@proxy_addr</span>, <span class="ruby-ivar">@@proxy_port</span>, <span class="ruby-ivar">@@proxy_user</span>, <span class="ruby-ivar">@@proxy_pass</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">http</span><span class="ruby-operator">|</span>
653
+ 165: <span class="ruby-identifier">header</span>[<span class="ruby-value str">&quot;Cookie&quot;</span>] = <span class="ruby-ivar">@cookie</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cookie</span>
654
+ 166: <span class="ruby-identifier">res</span> = <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">http</span>, <span class="ruby-identifier">path_with_authorized_query</span>(<span class="ruby-identifier">uri</span>), <span class="ruby-identifier">header</span>, <span class="ruby-identifier">args</span>)
655
+ 167: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-identifier">res</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
656
+ 168: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">res</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;302&quot;</span>
657
+ 169: <span class="ruby-identifier">ck</span> = <span class="ruby-identifier">sess</span> = <span class="ruby-keyword kw">nil</span>
658
+ 170: <span class="ruby-identifier">ck</span> = <span class="ruby-identifier">res</span>[<span class="ruby-value str">&quot;set-cookie&quot;</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">res</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value str">&quot;set-cookie&quot;</span>)
659
+ 171: <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">res</span>[<span class="ruby-value str">&quot;location&quot;</span>]) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">res</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value str">&quot;location&quot;</span>)
660
+ 172: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span>
661
+ 173: <span class="ruby-identifier">qr</span> = <span class="ruby-constant">CGI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span>)
662
+ 174: <span class="ruby-identifier">sess</span> = <span class="ruby-identifier">qr</span>[<span class="ruby-value str">&quot;gsessionid&quot;</span>][<span class="ruby-value">0</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">qr</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value str">&quot;gsessionid&quot;</span>)
663
+ 175: <span class="ruby-keyword kw">end</span>
664
+ 176: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ck</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">sess</span>
665
+ 177: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;cookie: #{ck}, gsessionid:#{sess}&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
666
+ 178: <span class="ruby-identifier">header</span>[<span class="ruby-value str">&quot;Cookie&quot;</span>] = <span class="ruby-ivar">@cookie</span> = <span class="ruby-identifier">ck</span>
667
+ 179: <span class="ruby-ivar">@session</span> = <span class="ruby-identifier">sess</span>
668
+ 180: <span class="ruby-identifier">res</span> = <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">http</span>, <span class="ruby-identifier">path_with_authorized_query</span>(<span class="ruby-identifier">uri</span>), <span class="ruby-identifier">header</span>, <span class="ruby-identifier">args</span>)
669
+ 181: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-identifier">res</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
670
+ 182: <span class="ruby-keyword kw">else</span>
671
+ 183: <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">fatal</span> <span class="ruby-identifier">res</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\n/</span>, <span class="ruby-value str">' '</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">logger</span>
672
+ 184: <span class="ruby-keyword kw">end</span>
673
+ 185: <span class="ruby-keyword kw">end</span>
674
+ 186: <span class="ruby-keyword kw">end</span>
675
+ 187: <span class="ruby-identifier">res</span>
676
+ 188: <span class="ruby-keyword kw">end</span>
677
+ </pre>
678
+ </div>
679
+ </div>
680
+ </div>
681
+
682
+
683
+ </div>
684
+
685
+
686
+ </div>
687
+
688
+
689
+ <div id="validator-badges">
690
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
691
+ </div>
692
+
693
+ </body>
694
+ </html>