box-api 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/Gemfile.lock +1 -1
  2. data/box-api.gemspec +1 -1
  3. data/doc/Box.html +108 -0
  4. data/doc/Box/Account.html +1099 -0
  5. data/doc/Box/Api.html +3428 -0
  6. data/doc/Box/Api/AccountExceeded.html +130 -0
  7. data/doc/Box/Api/EmailInvalid.html +141 -0
  8. data/doc/Box/Api/EmailTaken.html +130 -0
  9. data/doc/Box/Api/ErrorStatus.html +130 -0
  10. data/doc/Box/Api/Exception.html +120 -0
  11. data/doc/Box/Api/Generic.html +130 -0
  12. data/doc/Box/Api/InvalidFolder.html +141 -0
  13. data/doc/Box/Api/InvalidInput.html +130 -0
  14. data/doc/Box/Api/InvalidName.html +130 -0
  15. data/doc/Box/Api/NameTaken.html +130 -0
  16. data/doc/Box/Api/NoAccess.html +130 -0
  17. data/doc/Box/Api/NoParent.html +130 -0
  18. data/doc/Box/Api/NotAuthorized.html +130 -0
  19. data/doc/Box/Api/Restricted.html +141 -0
  20. data/doc/Box/Api/SizeExceeded.html +130 -0
  21. data/doc/Box/Api/Unknown.html +130 -0
  22. data/doc/Box/Api/UnknownResponse.html +141 -0
  23. data/doc/Box/Api/UploadFailed.html +141 -0
  24. data/doc/Box/File.html +580 -0
  25. data/doc/Box/Folder.html +1078 -0
  26. data/doc/Box/Item.html +1884 -0
  27. data/doc/_index.html +342 -0
  28. data/doc/class_list.html +47 -0
  29. data/doc/css/common.css +1 -0
  30. data/doc/css/full_list.css +53 -0
  31. data/doc/css/style.css +320 -0
  32. data/doc/file.README.html +98 -0
  33. data/doc/file_list.html +49 -0
  34. data/doc/frames.html +13 -0
  35. data/doc/index.html +98 -0
  36. data/doc/js/app.js +205 -0
  37. data/doc/js/full_list.js +150 -0
  38. data/doc/js/jquery.js +16 -0
  39. data/doc/method_list.html +574 -0
  40. data/doc/top-level-namespace.html +103 -0
  41. data/examples/login.rb +4 -4
  42. data/lib/box/account.rb +168 -51
  43. data/lib/box/api.rb +174 -16
  44. data/lib/box/api/exceptions.rb +4 -0
  45. data/lib/box/file.rb +17 -4
  46. data/lib/box/folder.rb +85 -30
  47. data/lib/box/item.rb +89 -20
  48. data/spec/account_spec.rb +0 -4
  49. data/spec/folder_spec.rb +3 -9
  50. metadata +42 -4
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- box-api (0.1.7)
4
+ box-api (0.1.8)
5
5
  httmultiparty (~> 0.3)
6
6
 
7
7
  GEM
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "box-api"
3
- s.version = "0.1.7"
3
+ s.version = "0.1.8"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.authors = ["Box.net", "Luke Curley"]
6
6
  s.email = ["luke@box.net"]
@@ -0,0 +1,108 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Module: Box
8
+
9
+ &mdash; Documentation by YARD 0.7.2
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ relpath = '';
19
+ if (relpath != '') relpath += '/';
20
+ </script>
21
+
22
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
23
+
24
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
25
+
26
+
27
+ </head>
28
+ <body>
29
+ <script type="text/javascript" charset="utf-8">
30
+ if (window.top.frames.main) document.body.className = 'frames';
31
+ </script>
32
+
33
+ <div id="header">
34
+ <div id="menu">
35
+
36
+ <a href="_index.html">Index (B)</a> &raquo;
37
+
38
+
39
+ <span class="title">Box</span>
40
+
41
+
42
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
+ </div>
44
+
45
+ <div id="search">
46
+
47
+ <a id="class_list_link" href="#">Class List</a>
48
+
49
+ <a id="method_list_link" href="#">Method List</a>
50
+
51
+ <a id="file_list_link" href="#">File List</a>
52
+
53
+ </div>
54
+ <div class="clear"></div>
55
+ </div>
56
+
57
+ <iframe id="search_frame"></iframe>
58
+
59
+ <div id="content"><h1>Module: Box
60
+
61
+
62
+
63
+ </h1>
64
+
65
+ <dl class="box">
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+ <dt class="r1 last">Defined in:</dt>
75
+ <dd class="r1 last">lib/box/api.rb<span class="defines">,<br />
76
+ lib/box/item.rb,<br /> lib/box/file.rb,<br /> lib/box/folder.rb,<br /> lib/box/account.rb,<br /> lib/box/api/exceptions.rb</span>
77
+ </dd>
78
+
79
+ </dl>
80
+ <div class="clear"></div>
81
+
82
+ <h2>Defined Under Namespace</h2>
83
+ <p class="children">
84
+
85
+
86
+
87
+
88
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Box/Account.html" title="Box::Account (class)">Account</a></span>, <span class='object_link'><a href="Box/Api.html" title="Box::Api (class)">Api</a></span>, <span class='object_link'><a href="Box/File.html" title="Box::File (class)">File</a></span>, <span class='object_link'><a href="Box/Folder.html" title="Box::Folder (class)">Folder</a></span>, <span class='object_link'><a href="Box/Item.html" title="Box::Item (class)">Item</a></span>
89
+
90
+
91
+ </p>
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+ </div>
100
+
101
+ <div id="footer">
102
+ Generated on Mon Aug 8 13:05:22 2011 by
103
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
104
+ 0.7.2 (ruby-1.9.2).
105
+ </div>
106
+
107
+ </body>
108
+ </html>
@@ -0,0 +1,1099 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: Box::Account
8
+
9
+ &mdash; Documentation by YARD 0.7.2
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ relpath = '..';
19
+ if (relpath != '') relpath += '/';
20
+ </script>
21
+
22
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
25
+
26
+
27
+ </head>
28
+ <body>
29
+ <script type="text/javascript" charset="utf-8">
30
+ if (window.top.frames.main) document.body.className = 'frames';
31
+ </script>
32
+
33
+ <div id="header">
34
+ <div id="menu">
35
+
36
+ <a href="../_index.html">Index (A)</a> &raquo;
37
+ <span class='title'><span class='object_link'><a href="../Box.html" title="Box (module)">Box</a></span></span>
38
+ &raquo;
39
+ <span class="title">Account</span>
40
+
41
+
42
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
+ </div>
44
+
45
+ <div id="search">
46
+
47
+ <a id="class_list_link" href="#">Class List</a>
48
+
49
+ <a id="method_list_link" href="#">Method List</a>
50
+
51
+ <a id="file_list_link" href="#">File List</a>
52
+
53
+ </div>
54
+ <div class="clear"></div>
55
+ </div>
56
+
57
+ <iframe id="search_frame"></iframe>
58
+
59
+ <div id="content"><h1>Class: Box::Account
60
+
61
+
62
+
63
+ </h1>
64
+
65
+ <dl class="box">
66
+
67
+ <dt class="r1">Inherits:</dt>
68
+ <dd class="r1">
69
+ <span class="inheritName">Object</span>
70
+
71
+ <ul class="fullTree">
72
+ <li>Object</li>
73
+
74
+ <li class="next">Box::Account</li>
75
+
76
+ </ul>
77
+ <a href="#" class="inheritanceTree">show all</a>
78
+
79
+ </dd>
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+ <dt class="r2 last">Defined in:</dt>
90
+ <dd class="r2 last">lib/box/account.rb</dd>
91
+
92
+ </dl>
93
+ <div class="clear"></div>
94
+
95
+ <h2>Overview</h2><div class="docstring">
96
+ <div class="discussion">
97
+ <p>
98
+ Represents an account on Box. In order to use the Box api, the user must
99
+ first grant the application permission to use their account. This is done
100
+ in the <span class='object_link'><a href="#authorize-instance_method" title="Box::Account#authorize (method)">#authorize</a></span> function. Once an account has been authorized, it can
101
+ access all of the details and information stored on that account.
102
+ </p>
103
+
104
+
105
+ </div>
106
+ </div>
107
+ <div class="tags">
108
+
109
+ </div>
110
+
111
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
112
+ <ul class="summary">
113
+
114
+ <li class="public ">
115
+ <span class="summary_signature">
116
+
117
+ <a href="#auth_token-instance_method" title="#auth_token (instance method)">- (String) <strong>auth_token</strong> </a>
118
+
119
+
120
+
121
+ </span>
122
+
123
+
124
+ <span class="note title readonly">readonly</span>
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+ <span class="summary_desc"><div class='inline'><p>
134
+ The auth token if authorization was successful.
135
+ </p>
136
+ </div></span>
137
+
138
+ </li>
139
+
140
+
141
+ </ul>
142
+
143
+
144
+
145
+
146
+
147
+ <h2>
148
+ Instance Method Summary
149
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
150
+ </h2>
151
+
152
+ <ul class="summary">
153
+
154
+ <li class="public ">
155
+ <span class="summary_signature">
156
+
157
+ <a href="#authorize-instance_method" title="#authorize (instance method)">- (Boolean) <strong>authorize</strong>(auth_token = nil) {|authorize_url| ... }</a>
158
+
159
+
160
+
161
+ </span>
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+ <span class="summary_desc"><div class='inline'><p>
171
+ Authorize the account using the given auth token, or request permission
172
+ from the user to let this application use their account.
173
+ </p>
174
+ </div></span>
175
+
176
+ </li>
177
+
178
+
179
+ <li class="public ">
180
+ <span class="summary_signature">
181
+
182
+ <a href="#authorized%3F-instance_method" title="#authorized? (instance method)">- (Boolean) <strong>authorized?</strong> </a>
183
+
184
+
185
+
186
+ </span>
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+ <span class="summary_desc"><div class='inline'><p>
196
+ Is the account authorized?.
197
+ </p>
198
+ </div></span>
199
+
200
+ </li>
201
+
202
+
203
+ <li class="public ">
204
+ <span class="summary_signature">
205
+
206
+ <a href="#info-instance_method" title="#info (instance method)">- (Hash) <strong>info</strong>(refresh = false) </a>
207
+
208
+
209
+
210
+ </span>
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+ <span class="summary_desc"><div class='inline'><p>
220
+ Return the account details.
221
+ </p>
222
+ </div></span>
223
+
224
+ </li>
225
+
226
+
227
+ <li class="public ">
228
+ <span class="summary_signature">
229
+
230
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Account) <strong>initialize</strong>(api) </a>
231
+
232
+
233
+
234
+ </span>
235
+
236
+ <span class="note title constructor">constructor</span>
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+ <span class="summary_desc"><div class='inline'><p>
246
+ Creates an account object using the given Box api key.
247
+ </p>
248
+ </div></span>
249
+
250
+ </li>
251
+
252
+
253
+ <li class="public ">
254
+ <span class="summary_signature">
255
+
256
+ <a href="#logout-instance_method" title="#logout (instance method)">- (Boolean) <strong>logout</strong> </a>
257
+
258
+
259
+
260
+ </span>
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+ <span class="summary_desc"><div class='inline'><p>
270
+ Log out of the account and invalidate the auth token.
271
+ </p>
272
+ </div></span>
273
+
274
+ </li>
275
+
276
+
277
+ <li class="public ">
278
+ <span class="summary_signature">
279
+
280
+ <a href="#register-instance_method" title="#register (instance method)">- (Boolean) <strong>register</strong>(email, password) </a>
281
+
282
+
283
+
284
+ </span>
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+ <span class="summary_desc"><div class='inline'><p>
294
+ Register a new account on the Box website with the given details.
295
+ </p>
296
+ </div></span>
297
+
298
+ </li>
299
+
300
+
301
+ <li class="public ">
302
+ <span class="summary_signature">
303
+
304
+ <a href="#root-instance_method" title="#root (instance method)">- (Folder) <strong>root</strong> </a>
305
+
306
+
307
+
308
+ </span>
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+ <span class="summary_desc"><div class='inline'><p>
318
+ Get the root folder of the account.
319
+ </p>
320
+ </div></span>
321
+
322
+ </li>
323
+
324
+
325
+ </ul>
326
+
327
+
328
+ <div id="constructor_details" class="method_details_list">
329
+ <h2>Constructor Details</h2>
330
+
331
+ <div class="method_details first">
332
+ <p class="signature first" id="initialize-instance_method">
333
+
334
+ - (<tt><span class='object_link'><a href="" title="Box::Account (class)">Account</a></span></tt>) <strong>initialize</strong>(api)
335
+
336
+
337
+
338
+ </p><div class="docstring">
339
+ <div class="discussion">
340
+ <p>
341
+ Creates an account object using the given Box api key. You can then
342
+ <span class='object_link'><a href="#register-instance_method" title="Box::Account#register (method)">#register</a></span> a new account or <span class='object_link'><a href="#authorize-instance_method" title="Box::Account#authorize (method)">#authorize</a></span> an existing account.
343
+ </p>
344
+
345
+
346
+ </div>
347
+ </div>
348
+ <div class="tags">
349
+ <h3>Parameters:</h3>
350
+ <ul class="param">
351
+
352
+ <li>
353
+
354
+ <span class='name'>api</span>
355
+
356
+
357
+ <span class='type'>(<tt>String</tt>, <tt><span class='object_link'><a href="Api.html" title="Box::Api (class)">Api</a></span></tt>)</span>
358
+
359
+
360
+
361
+ &mdash;
362
+ <div class='inline'><p>
363
+ the api key to use for the Box api.
364
+ </p>
365
+ </div>
366
+
367
+ </li>
368
+
369
+ </ul>
370
+
371
+ </div><table class="source_code">
372
+ <tr>
373
+ <td>
374
+ <pre class="lines">
375
+
376
+
377
+ 20
378
+ 21
379
+ 22
380
+ 23
381
+ 24
382
+ 25</pre>
383
+ </td>
384
+ <td>
385
+ <pre class="code"><span class="info file"># File 'lib/box/account.rb', line 20</span>
386
+
387
+ <span class='kw'>def</span> <span class='id initialize'>initialize</span><span class='lparen'>(</span><span class='id api'>api</span><span class='rparen'>)</span>
388
+ <span class='ivar'>@api</span> <span class='op'>=</span> <span class='kw'>case</span>
389
+ <span class='kw'>when</span> <span class='id api'>api</span><span class='period'>.</span><span class='id class'>class</span> <span class='op'>==</span> <span class='const'>Box</span><span class='op'>::</span><span class='const'>Api</span><span class='semicolon'>;</span> <span class='id api'>api</span> <span class='comment'># use the api object as passed in
390
+ </span> <span class='kw'>else</span><span class='semicolon'>;</span> <span class='const'>Box</span><span class='op'>::</span><span class='const'>Api</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id api'>api</span><span class='rparen'>)</span> <span class='comment'># allows user to pass in a string
391
+ </span> <span class='kw'>end</span>
392
+ <span class='kw'>end</span></pre>
393
+ </td>
394
+ </tr>
395
+ </table>
396
+ </div>
397
+
398
+ </div>
399
+
400
+ <div id="instance_attr_details" class="attr_details">
401
+ <h2>Instance Attribute Details</h2>
402
+
403
+
404
+ <span id=""></span>
405
+ <span id="auth_token-instance_method"></span>
406
+ <div class="method_details first">
407
+ <p class="signature first" id="auth_token-instance_method">
408
+
409
+ - (<tt>String</tt>) <strong>auth_token</strong> <span class="extras">(readonly)</span>
410
+
411
+
412
+
413
+ </p><div class="docstring">
414
+ <div class="discussion">
415
+ <p>
416
+ The auth token if authorization was successful.
417
+ </p>
418
+
419
+
420
+ </div>
421
+ </div>
422
+ <div class="tags">
423
+ <h3>Returns:</h3>
424
+ <ul class="return">
425
+
426
+ <li>
427
+
428
+
429
+ <span class='type'>(<tt>String</tt>)</span>
430
+
431
+
432
+
433
+ &mdash;
434
+ <div class='inline'><p>
435
+ The auth token if authorization was successful.
436
+ </p>
437
+ </div>
438
+
439
+ </li>
440
+
441
+ </ul>
442
+
443
+ </div><table class="source_code">
444
+ <tr>
445
+ <td>
446
+ <pre class="lines">
447
+
448
+
449
+ 13
450
+ 14
451
+ 15</pre>
452
+ </td>
453
+ <td>
454
+ <pre class="code"><span class="info file"># File 'lib/box/account.rb', line 13</span>
455
+
456
+ <span class='kw'>def</span> <span class='id auth_token'>auth_token</span>
457
+ <span class='ivar'>@auth_token</span>
458
+ <span class='kw'>end</span></pre>
459
+ </td>
460
+ </tr>
461
+ </table>
462
+ </div>
463
+
464
+ </div>
465
+
466
+
467
+ <div id="instance_method_details" class="method_details_list">
468
+ <h2>Instance Method Details</h2>
469
+
470
+
471
+ <div class="method_details first">
472
+ <p class="signature first" id="authorize-instance_method">
473
+
474
+ - (<tt>Boolean</tt>) <strong>authorize</strong>(auth_token = nil) {|authorize_url| ... }
475
+
476
+
477
+
478
+ </p><div class="docstring">
479
+ <div class="discussion">
480
+ <p>
481
+ Authorize the account using the given auth token, or request permission
482
+ from the user to let this application use their account.
483
+ </p>
484
+ <p>
485
+ An auth token can be reused from previous authorizations provided the user
486
+ doesn&#8217;t log out, and significantly speeds up the process. If the auth
487
+ token if invalid or not provided, the account tries to log in normally and
488
+ requires the user to log in and provide access for their account.
489
+ </p>
490
+
491
+
492
+ </div>
493
+ </div>
494
+ <div class="tags">
495
+
496
+ <div class="examples">
497
+ <h3>Examples:</h3>
498
+
499
+ <h4><div class='inline'><p>
500
+ Authorize an account without a saved auth token.
501
+ </p>
502
+ </div></h4>
503
+ <pre class="example code"><span class='id account'>account</span><span class='period'>.</span><span class='id authorize'>authorize</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id auth_url'>auth_url</span><span class='op'>|</span>
504
+ <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Please visit </span><span class='embexpr_beg'>#{</span> <span class='id auth_url'>auth_url</span> <span class='rbrace'>}</span><span class='tstring_content'> and enter your account infomation</span><span class='tstring_end'>&quot;</span></span>
505
+ <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Press the enter key once you have done this.</span><span class='tstring_end'>&quot;</span></span>
506
+ <span class='id gets'>gets</span> <span class='comment'># wait for the enter key to be pressed
507
+ </span><span class='kw'>end</span></pre>
508
+
509
+ <h4><div class='inline'><p>
510
+ Authorize an account using an existing auth token.
511
+ </p>
512
+ </div></h4>
513
+ <pre class="example code"><span class='id auth_token'>auth_token</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>saved auth token</span><span class='tstring_end'>&quot;</span></span> <span class='comment'># load from file ideally
514
+ </span><span class='id account'>account</span><span class='period'>.</span><span class='id authorize'>authorize</span><span class='lparen'>(</span><span class='id auth_token'>auth_token</span><span class='rparen'>)</span></pre>
515
+
516
+ <h4><div class='inline'><p>
517
+ Combining the above two for the best functionality.
518
+ </p>
519
+ </div></h4>
520
+ <pre class="example code"><span class='id auth_token'>auth_token</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>saved auth token</span><span class='tstring_end'>&quot;</span></span> <span class='comment'># load from file if possible
521
+ </span><span class='id account'>account</span><span class='period'>.</span><span class='id authorize'>authorize</span><span class='lparen'>(</span><span class='id auth_token'>auth_token</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id auth_url'>auth_url</span><span class='op'>|</span>
522
+ <span class='comment'># auth token was invalid or nil, have the user visit auth_url
523
+ </span><span class='kw'>end</span></pre>
524
+
525
+ </div>
526
+ <h3>Parameters:</h3>
527
+ <ul class="param">
528
+
529
+ <li>
530
+
531
+ <span class='name'>auth_token</span>
532
+
533
+
534
+ <span class='type'>(<tt>Optional</tt>, <tt>String</tt>)</span>
535
+
536
+
537
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
538
+
539
+
540
+ &mdash;
541
+ <div class='inline'><p>
542
+ Uses an existing token or requests a new one if nil.
543
+ </p>
544
+ </div>
545
+
546
+ </li>
547
+
548
+ </ul>
549
+ <h3>Yields:</h3>
550
+ <ul class="yield">
551
+
552
+ <li>
553
+
554
+
555
+ <span class='type'>(<tt>authorize_url</tt>)</span>
556
+
557
+
558
+
559
+ &mdash;
560
+ <div class='inline'><p>
561
+ This block called when the user has not yet granted this application
562
+ permission to use their account. You must have the user navigate to the
563
+ passed url and authorize this app before continuing.
564
+ </p>
565
+ </div>
566
+
567
+ </li>
568
+
569
+ </ul>
570
+ <h3>Returns:</h3>
571
+ <ul class="return">
572
+
573
+ <li>
574
+
575
+
576
+ <span class='type'>(<tt>Boolean</tt>)</span>
577
+
578
+
579
+
580
+ &mdash;
581
+ <div class='inline'><p>
582
+ Whether the user is authorized.
583
+ </p>
584
+ </div>
585
+
586
+ </li>
587
+
588
+ </ul>
589
+
590
+ </div><table class="source_code">
591
+ <tr>
592
+ <td>
593
+ <pre class="lines">
594
+
595
+
596
+ 79
597
+ 80
598
+ 81
599
+ 82
600
+ 83
601
+ 84
602
+ 85
603
+ 86
604
+ 87
605
+ 88
606
+ 89
607
+ 90
608
+ 91
609
+ 92
610
+ 93
611
+ 94
612
+ 95
613
+ 96
614
+ 97</pre>
615
+ </td>
616
+ <td>
617
+ <pre class="code"><span class="info file"># File 'lib/box/account.rb', line 79</span>
618
+
619
+ <span class='kw'>def</span> <span class='id authorize'>authorize</span><span class='lparen'>(</span><span class='id auth_token'>auth_token</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
620
+ <span class='comment'># use a saved auth token if it is given
621
+ </span> <span class='kw'>if</span> <span class='id auth_token'>auth_token</span>
622
+ <span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id authorize_token'>authorize_token</span><span class='lparen'>(</span><span class='id auth_token'>auth_token</span><span class='rparen'>)</span>
623
+ <span class='kw'>end</span>
624
+
625
+ <span class='comment'># the auth token either failed or was not provided
626
+ </span> <span class='comment'># we must try to authorize a ticket, and call the block if that fails
627
+ </span> <span class='kw'>if</span> <span class='kw'>not</span> <span class='id authorize_ticket'>authorize_ticket</span> <span class='kw'>and</span> <span class='id block_given?'>block_given?</span>
628
+ <span class='comment'># the supplied block should instruct the user to visit this url
629
+ </span> <span class='kw'>yield</span> <span class='id authorize_url'>authorize_url</span>
630
+
631
+ <span class='comment'># try authorizing once more
632
+ </span> <span class='id authorize_ticket'>authorize_ticket</span>
633
+ <span class='kw'>end</span>
634
+
635
+ <span class='comment'># return our authorized status
636
+ </span> <span class='id authorized?'>authorized?</span>
637
+ <span class='kw'>end</span></pre>
638
+ </td>
639
+ </tr>
640
+ </table>
641
+ </div>
642
+
643
+ <div class="method_details ">
644
+ <p class="signature " id="authorized?-instance_method">
645
+
646
+ - (<tt>Boolean</tt>) <strong>authorized?</strong>
647
+
648
+
649
+
650
+ </p><div class="docstring">
651
+ <div class="discussion">
652
+ <p>
653
+ Is the account authorized?
654
+ </p>
655
+
656
+
657
+ </div>
658
+ </div>
659
+ <div class="tags">
660
+ <h3>Returns:</h3>
661
+ <ul class="return">
662
+
663
+ <li>
664
+
665
+
666
+ <span class='type'>(<tt>Boolean</tt>)</span>
667
+
668
+
669
+
670
+ &mdash;
671
+ <div class='inline'><p>
672
+ Is the account authorized?
673
+ </p>
674
+ </div>
675
+
676
+ </li>
677
+
678
+ </ul>
679
+
680
+ </div><table class="source_code">
681
+ <tr>
682
+ <td>
683
+ <pre class="lines">
684
+
685
+
686
+ 151
687
+ 152
688
+ 153</pre>
689
+ </td>
690
+ <td>
691
+ <pre class="code"><span class="info file"># File 'lib/box/account.rb', line 151</span>
692
+
693
+ <span class='kw'>def</span> <span class='id authorized?'>authorized?</span>
694
+ <span class='ivar'>@info</span> <span class='op'>!=</span> <span class='kw'>nil</span>
695
+ <span class='kw'>end</span></pre>
696
+ </td>
697
+ </tr>
698
+ </table>
699
+ </div>
700
+
701
+ <div class="method_details ">
702
+ <p class="signature " id="info-instance_method">
703
+
704
+ - (<tt>Hash</tt>) <strong>info</strong>(refresh = false)
705
+
706
+
707
+
708
+ </p><div class="docstring">
709
+ <div class="discussion">
710
+ <p>
711
+ Return the account details. A cached copy will be used if avaliable, and
712
+ requested if it is not.
713
+ </p>
714
+ <p>
715
+ TODO: Add url to Box api documentation, and provide the current fields.
716
+ </p>
717
+
718
+
719
+ </div>
720
+ </div>
721
+ <div class="tags">
722
+ <h3>Parameters:</h3>
723
+ <ul class="param">
724
+
725
+ <li>
726
+
727
+ <span class='name'>refresh</span>
728
+
729
+
730
+ <span class='type'>(<tt>Boolean</tt>)</span>
731
+
732
+
733
+ <em class="default">(defaults to: <tt>false</tt>)</em>
734
+
735
+
736
+ &mdash;
737
+ <div class='inline'><p>
738
+ Will not use the cached version if true.
739
+ </p>
740
+ </div>
741
+
742
+ </li>
743
+
744
+ </ul>
745
+ <h3>Returns:</h3>
746
+ <ul class="return">
747
+
748
+ <li>
749
+
750
+
751
+ <span class='type'>(<tt>Hash</tt>)</span>
752
+
753
+
754
+
755
+ &mdash;
756
+ <div class='inline'><p>
757
+ A hash containing all of the user&#8217;s account details, or nil if they
758
+ are not authorized. Please see the Box api documentation for information
759
+ about each field.
760
+ </p>
761
+ </div>
762
+
763
+ </li>
764
+
765
+ </ul>
766
+
767
+ </div><table class="source_code">
768
+ <tr>
769
+ <td>
770
+ <pre class="lines">
771
+
772
+
773
+ 127
774
+ 128
775
+ 129
776
+ 130
777
+ 131
778
+ 132
779
+ 133
780
+ 134
781
+ 135
782
+ 136
783
+ 137</pre>
784
+ </td>
785
+ <td>
786
+ <pre class="code"><span class="info file"># File 'lib/box/account.rb', line 127</span>
787
+
788
+ <span class='kw'>def</span> <span class='id info'>info</span><span class='lparen'>(</span><span class='id refresh'>refresh</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
789
+ <span class='kw'>return</span> <span class='ivar'>@info</span> <span class='kw'>if</span> <span class='ivar'>@info</span> <span class='kw'>and</span> <span class='kw'>not</span> <span class='id refresh'>refresh</span>
790
+
791
+ <span class='kw'>begin</span>
792
+ <span class='id cache_info'>cache_info</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='rparen'>)</span> <span class='comment'># reset existing info
793
+ </span> <span class='id info'>info</span> <span class='op'>=</span> <span class='ivar'>@api</span><span class='period'>.</span><span class='id get_account_info'>get_account_info</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>user</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
794
+ <span class='id cache_info'>cache_info</span><span class='lparen'>(</span><span class='id info'>info</span><span class='rparen'>)</span>
795
+ <span class='kw'>rescue</span> <span class='const'>Api</span><span class='op'>::</span><span class='const'>NotAuthorized</span><span class='comma'>,</span> <span class='const'>Api</span><span class='op'>::</span><span class='const'>InvalidInput</span>
796
+ <span class='kw'>nil</span>
797
+ <span class='kw'>end</span>
798
+ <span class='kw'>end</span></pre>
799
+ </td>
800
+ </tr>
801
+ </table>
802
+ </div>
803
+
804
+ <div class="method_details ">
805
+ <p class="signature " id="logout-instance_method">
806
+
807
+ - (<tt>Boolean</tt>) <strong>logout</strong>
808
+
809
+
810
+
811
+ </p><div class="docstring">
812
+ <div class="discussion">
813
+
814
+ <div class="note notetag">
815
+ <strong>Note:</strong>
816
+ <div class='inline'><p>
817
+ The user will have to re-authorize if they wish to use this application,
818
+ and the auth token will no longer work.
819
+ </p>
820
+ </div>
821
+ </div>
822
+
823
+ <p>
824
+ Log out of the account and invalidate the auth token.
825
+ </p>
826
+
827
+
828
+ </div>
829
+ </div>
830
+ <div class="tags">
831
+ <h3>Returns:</h3>
832
+ <ul class="return">
833
+
834
+ <li>
835
+
836
+
837
+ <span class='type'>(<tt>Boolean</tt>)</span>
838
+
839
+
840
+
841
+ &mdash;
842
+ <div class='inline'><p>
843
+ Whether logout was successful.
844
+ </p>
845
+ </div>
846
+
847
+ </li>
848
+
849
+ </ul>
850
+
851
+ </div><table class="source_code">
852
+ <tr>
853
+ <td>
854
+ <pre class="lines">
855
+
856
+
857
+ 106
858
+ 107
859
+ 108
860
+ 109
861
+ 110
862
+ 111
863
+ 112
864
+ 113
865
+ 114
866
+ 115</pre>
867
+ </td>
868
+ <td>
869
+ <pre class="code"><span class="info file"># File 'lib/box/account.rb', line 106</span>
870
+
871
+ <span class='kw'>def</span> <span class='id logout'>logout</span>
872
+ <span class='kw'>begin</span>
873
+ <span class='ivar'>@api</span><span class='period'>.</span><span class='id logout'>logout</span>
874
+ <span class='id cache_token'>cache_token</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='rparen'>)</span>
875
+ <span class='kw'>rescue</span> <span class='const'>Api</span><span class='op'>::</span><span class='const'>NotAuthorized</span>
876
+ <span class='comment'># already logged out, or never logged in
877
+ </span> <span class='kw'>end</span>
878
+
879
+ <span class='kw'>true</span>
880
+ <span class='kw'>end</span></pre>
881
+ </td>
882
+ </tr>
883
+ </table>
884
+ </div>
885
+
886
+ <div class="method_details ">
887
+ <p class="signature " id="register-instance_method">
888
+
889
+ - (<tt>Boolean</tt>) <strong>register</strong>(email, password)
890
+
891
+
892
+
893
+ </p><div class="docstring">
894
+ <div class="discussion">
895
+ <p>
896
+ Register a new account on the Box website with the given details.
897
+ </p>
898
+
899
+
900
+ </div>
901
+ </div>
902
+ <div class="tags">
903
+ <h3>Parameters:</h3>
904
+ <ul class="param">
905
+
906
+ <li>
907
+
908
+ <span class='name'>email</span>
909
+
910
+
911
+ <span class='type'>(<tt>String</tt>)</span>
912
+
913
+
914
+
915
+ &mdash;
916
+ <div class='inline'><p>
917
+ The email address to create the account with
918
+ </p>
919
+ </div>
920
+
921
+ </li>
922
+
923
+ <li>
924
+
925
+ <span class='name'>password</span>
926
+
927
+
928
+ <span class='type'>(<tt>String</tt>)</span>
929
+
930
+
931
+
932
+ &mdash;
933
+ <div class='inline'><p>
934
+ The password to create the account with
935
+ </p>
936
+ </div>
937
+
938
+ </li>
939
+
940
+ </ul>
941
+ <h3>Returns:</h3>
942
+ <ul class="return">
943
+
944
+ <li>
945
+
946
+
947
+ <span class='type'>(<tt>Boolean</tt>)</span>
948
+
949
+
950
+
951
+ &mdash;
952
+ <div class='inline'><p>
953
+ Whether registration was successful.
954
+ </p>
955
+ </div>
956
+
957
+ </li>
958
+
959
+ </ul>
960
+ <h3>Raises:</h3>
961
+ <ul class="raise">
962
+
963
+ <li>
964
+
965
+
966
+ <span class='type'>(<tt><span class='object_link'><a href="Api/EmailInvalid.html" title="Box::Api::EmailInvalid (class)">Api::EmailInvalid</a></span></tt>)</span>
967
+
968
+
969
+
970
+ &mdash;
971
+ <div class='inline'><p>
972
+ The email address was invalid
973
+ </p>
974
+ </div>
975
+
976
+ </li>
977
+
978
+ <li>
979
+
980
+
981
+ <span class='type'>(<tt><span class='object_link'><a href="Api/EmailTaken.html" title="Box::Api::EmailTaken (class)">Api::EmailTaken</a></span></tt>)</span>
982
+
983
+
984
+
985
+ &mdash;
986
+ <div class='inline'><p>
987
+ The email address was taken
988
+ </p>
989
+ </div>
990
+
991
+ </li>
992
+
993
+ </ul>
994
+
995
+ </div><table class="source_code">
996
+ <tr>
997
+ <td>
998
+ <pre class="lines">
999
+
1000
+
1001
+ 36
1002
+ 37
1003
+ 38
1004
+ 39
1005
+ 40
1006
+ 41
1007
+ 42
1008
+ 43</pre>
1009
+ </td>
1010
+ <td>
1011
+ <pre class="code"><span class="info file"># File 'lib/box/account.rb', line 36</span>
1012
+
1013
+ <span class='kw'>def</span> <span class='id register'>register</span><span class='lparen'>(</span><span class='id email'>email</span><span class='comma'>,</span> <span class='id password'>password</span><span class='rparen'>)</span>
1014
+ <span class='id response'>response</span> <span class='op'>=</span> <span class='ivar'>@api</span><span class='period'>.</span><span class='id register_new_user'>register_new_user</span><span class='lparen'>(</span><span class='id email'>email</span><span class='comma'>,</span> <span class='id password'>password</span><span class='rparen'>)</span>
1015
+
1016
+ <span class='id cache_info'>cache_info</span><span class='lparen'>(</span><span class='id response'>response</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>user</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='comment'># cache account_info, saving an extra API call
1017
+ </span> <span class='id authorize_token'>authorize_token</span><span class='lparen'>(</span><span class='id response'>response</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>token</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
1018
+
1019
+ <span class='kw'>true</span>
1020
+ <span class='kw'>end</span></pre>
1021
+ </td>
1022
+ </tr>
1023
+ </table>
1024
+ </div>
1025
+
1026
+ <div class="method_details ">
1027
+ <p class="signature " id="root-instance_method">
1028
+
1029
+ - (<tt><span class='object_link'><a href="Folder.html" title="Box::Folder (class)">Folder</a></span></tt>) <strong>root</strong>
1030
+
1031
+
1032
+
1033
+ </p><div class="docstring">
1034
+ <div class="discussion">
1035
+ <p>
1036
+ Get the root folder of the account. You can use this <span class='object_link'><a href="Folder.html" title="Box::Folder (class)">Folder</a></span> object to
1037
+ access all sub items within the account. This folder is lazy loaded, and a
1038
+ network request will be made if/when the data is requested.
1039
+ </p>
1040
+
1041
+
1042
+ </div>
1043
+ </div>
1044
+ <div class="tags">
1045
+ <h3>Returns:</h3>
1046
+ <ul class="return">
1047
+
1048
+ <li>
1049
+
1050
+
1051
+ <span class='type'>(<tt><span class='object_link'><a href="Folder.html" title="Box::Folder (class)">Folder</a></span></tt>)</span>
1052
+
1053
+
1054
+
1055
+ &mdash;
1056
+ <div class='inline'><p>
1057
+ A folder object representing the root folder.
1058
+ </p>
1059
+ </div>
1060
+
1061
+ </li>
1062
+
1063
+ </ul>
1064
+
1065
+ </div><table class="source_code">
1066
+ <tr>
1067
+ <td>
1068
+ <pre class="lines">
1069
+
1070
+
1071
+ 145
1072
+ 146
1073
+ 147
1074
+ 148</pre>
1075
+ </td>
1076
+ <td>
1077
+ <pre class="code"><span class="info file"># File 'lib/box/account.rb', line 145</span>
1078
+
1079
+ <span class='kw'>def</span> <span class='id root'>root</span>
1080
+ <span class='kw'>return</span> <span class='ivar'>@root</span> <span class='kw'>if</span> <span class='ivar'>@root</span>
1081
+ <span class='ivar'>@root</span> <span class='op'>=</span> <span class='const'>Box</span><span class='op'>::</span><span class='const'>Folder</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='ivar'>@api</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:id</span> <span class='op'>=&gt;</span> <span class='int'>0</span><span class='rparen'>)</span>
1082
+ <span class='kw'>end</span></pre>
1083
+ </td>
1084
+ </tr>
1085
+ </table>
1086
+ </div>
1087
+
1088
+ </div>
1089
+
1090
+ </div>
1091
+
1092
+ <div id="footer">
1093
+ Generated on Mon Aug 8 13:05:22 2011 by
1094
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1095
+ 0.7.2 (ruby-1.9.2).
1096
+ </div>
1097
+
1098
+ </body>
1099
+ </html>