gcalapi 0.0.4 → 0.1.0

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