cloudapp 1.1.0 → 2.0.0.beta.1

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 (87) hide show
  1. data/CHANGELOG.md +3 -0
  2. data/Gemfile.lock +18 -34
  3. data/README.md +2 -1
  4. data/Rakefile +5 -1
  5. data/cloudapp.gemspec +50 -41
  6. data/lib/cloudapp/account.rb +111 -0
  7. data/lib/cloudapp/authorized_representation.rb +17 -0
  8. data/lib/cloudapp/collection_json/item.rb +20 -0
  9. data/lib/cloudapp/collection_json/representation.rb +74 -0
  10. data/lib/cloudapp/collection_json/template.rb +17 -0
  11. data/lib/cloudapp/collection_json/tint.rb +11 -0
  12. data/lib/cloudapp/collection_json.rb +3 -0
  13. data/lib/cloudapp/drop.rb +22 -6
  14. data/lib/cloudapp/drop_collection.rb +22 -0
  15. data/lib/cloudapp/service.rb +172 -0
  16. data/lib/cloudapp/token.rb +27 -0
  17. data/lib/cloudapp.rb +5 -1
  18. data/man/cloudapp.1 +202 -45
  19. data/man/cloudapp.1.html +114 -42
  20. data/man/cloudapp.1.ronn +125 -45
  21. data/spec/cassettes/create_bookmark.yml +255 -0
  22. data/spec/cassettes/create_bookmark_with_name.yml +266 -0
  23. data/spec/cassettes/create_bookmark_with_privacy.yml +277 -0
  24. data/spec/cassettes/delete_drop.yml +383 -0
  25. data/spec/cassettes/list_drops.yml +139 -0
  26. data/spec/cassettes/list_drops_with_bad_token.yml +57 -0
  27. data/spec/cassettes/list_drops_with_filter.yml +209 -0
  28. data/spec/cassettes/list_drops_with_href.yml +287 -0
  29. data/spec/cassettes/list_drops_with_href_and_filter.yml +287 -0
  30. data/spec/cassettes/list_drops_with_href_and_limit.yml +287 -0
  31. data/spec/cassettes/list_drops_with_limit.yml +211 -0
  32. data/spec/cassettes/list_drops_with_nil_href.yml +139 -0
  33. data/spec/cassettes/purge_drops.yml +1103 -0
  34. data/spec/cassettes/recover_drop.yml +628 -0
  35. data/spec/cassettes/rename_drop.yml +367 -0
  36. data/spec/cassettes/setup_drops.yml +968 -0
  37. data/spec/cassettes/token_for_account.yml +127 -0
  38. data/spec/cassettes/token_for_account_with_bad_credentials.yml +115 -0
  39. data/spec/cassettes/trash_drop.yml +478 -0
  40. data/spec/cassettes/update_drop_bookmark_url.yml +379 -0
  41. data/spec/cassettes/update_file.yml +573 -0
  42. data/spec/cassettes/upload_file.yml +470 -0
  43. data/spec/cassettes/upload_file_with_name.yml +484 -0
  44. data/spec/cassettes/upload_file_with_privacy.yml +495 -0
  45. data/spec/cassettes/view_drop.yml +73 -0
  46. data/spec/cloudapp/account_spec.rb +166 -0
  47. data/spec/cloudapp/authorized_representation_spec.rb +32 -0
  48. data/spec/cloudapp/collection_json/item_spec.rb +45 -0
  49. data/spec/cloudapp/collection_json/representation_spec.rb +118 -0
  50. data/spec/cloudapp/collection_json/template_spec.rb +53 -0
  51. data/spec/cloudapp/drop_collection_spec.rb +63 -0
  52. data/spec/cloudapp/drop_spec.rb +81 -51
  53. data/spec/cloudapp/service_spec.rb +357 -0
  54. data/spec/cloudapp/token_spec.rb +33 -0
  55. data/spec/integration_spec.rb +100 -0
  56. data/spec/support/stub_class_or_module.rb +6 -3
  57. data/spec/support/vcr.rb +21 -5
  58. metadata +84 -106
  59. data/bin/cloudapp +0 -184
  60. data/lib/cloudapp/config.rb +0 -39
  61. data/lib/cloudapp/drop_content.rb +0 -34
  62. data/lib/cloudapp/drop_presenter.rb +0 -80
  63. data/lib/cloudapp/drop_service.rb +0 -255
  64. data/lib/cloudapp/identity.rb +0 -14
  65. data/spec/cassettes/DropContent/download.yml +0 -116
  66. data/spec/cassettes/DropService/create_bookmark.yml +0 -105
  67. data/spec/cassettes/DropService/create_bookmark_with_bad_credentials.yml +0 -39
  68. data/spec/cassettes/DropService/create_bookmark_with_name.yml +0 -105
  69. data/spec/cassettes/DropService/create_private_bookmark.yml +0 -105
  70. data/spec/cassettes/DropService/create_public_bookmark.yml +0 -105
  71. data/spec/cassettes/DropService/drop.yml +0 -81
  72. data/spec/cassettes/DropService/list_drops.yml +0 -135
  73. data/spec/cassettes/DropService/list_drops_with_bad_credentials.yml +0 -39
  74. data/spec/cassettes/DropService/list_drops_with_limit.yml +0 -117
  75. data/spec/cassettes/DropService/list_trash.yml +0 -111
  76. data/spec/cassettes/DropService/list_trash_with_bad_credentials.yml +0 -39
  77. data/spec/cassettes/DropService/retrieve_token.yml +0 -42
  78. data/spec/cassettes/DropService/retrieve_token_with_bad_credentials.yml +0 -43
  79. data/spec/cassettes/DropService/upload_file.yml +0 -291
  80. data/spec/cassettes/DropService/upload_public_file.yml +0 -293
  81. data/spec/cloudapp/config_spec.rb +0 -59
  82. data/spec/cloudapp/drop_content_spec.rb +0 -21
  83. data/spec/cloudapp/drop_presenter_spec.rb +0 -120
  84. data/spec/cloudapp/drop_service_spec.rb +0 -400
  85. data/spec/cloudapp/identity_spec.rb +0 -27
  86. data/spec/support/fakefs_rspec.rb +0 -5
  87. data/spec/support/vcr_rspec.rb +0 -9
@@ -1,293 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://my.cl.ly/
6
- body: ''
7
- headers:
8
- Authorization:
9
- - Token token="8762f6679f8d001016b2"
10
- Accept:
11
- - application/json, text/x-yaml, application/xml, application/xhtml+xml, text/html,
12
- text/plain
13
- response:
14
- status:
15
- code: 200
16
- message: OK
17
- headers:
18
- Cache-Control:
19
- - max-age=0, private, must-revalidate
20
- Content-Type:
21
- - application/json; charset=utf-8
22
- Etag:
23
- - ! '"8338ad65017a4f430109d336992c2424"'
24
- Last-Modified:
25
- - Wed, 15 Feb 2012 14:38:48 GMT
26
- Server:
27
- - thin 1.3.1 codename Triple Espresso
28
- X-Runtime:
29
- - '0.121075'
30
- X-Ua-Compatible:
31
- - IE=Edge,chrome=1
32
- Transfer-Encoding:
33
- - chunked
34
- Connection:
35
- - keep-alive
36
- body: ! '[{"created_at":"2012-01-12T20:49:23Z","deleted_at":null,"id":13950097,"item_type":"image","name":"favicon.ico","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/favicon.ico","source":"Mozilla/5.0
37
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
38
- Safari/535.7","updated_at":"2012-02-07T15:34:17Z","view_counter":3,"href":"http://my.cl.ly/items/13950097","url":"http://cl.ly/0P281s1u1J1p47241B3o","content_url":"http://cl.ly/0P281s1u1J1p47241B3o/favicon.ico","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/0P281s1u1J1p47241B3o","subscribed":false,"download_url":"http://api.cld.me/0P281s1u1J1p47241B3o/download/favicon.ico"},{"created_at":"2012-01-12T20:49:13Z","deleted_at":null,"id":13950087,"item_type":"image","name":"\u00f8\u00e6\u00d8\u00fc\u00f6\u00e4\u00df!?&+-.jpeg","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg","source":"Mozilla/5.0
39
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
40
- Safari/535.7","updated_at":"2012-01-18T23:25:10Z","view_counter":6,"href":"http://my.cl.ly/items/13950087","url":"http://cl.ly/2n3a3S3f0J2w3X453r3L","content_url":"http://cl.ly/2n3a3S3f0J2w3X453r3L/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/2n3a3S3f0J2w3X453r3L","subscribed":false,"download_url":"http://api.cld.me/2n3a3S3f0J2w3X453r3L/download/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg"},{"created_at":"2012-01-12T20:48:03Z","deleted_at":null,"id":13950015,"item_type":"bookmark","name":"The
41
- Hitchhiker''s Guide to the Galaxy","private":true,"redirect_url":"http://en.wikipedia.org/wiki/The_Hitchhiker''s_Guide_to_the_Galaxy","remote_url":null,"source":"Mozilla/5.0
42
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
43
- Safari/535.7","updated_at":"2012-02-07T15:34:23Z","view_counter":4,"href":"http://my.cl.ly/items/13950015","url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","content_url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:45:24Z","deleted_at":null,"id":13949886,"item_type":"audio","name":"Epic
44
- Sax Guy NES Remix.mp3","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Epic%20Sax%20Guy%20NES%20Remix.mp3","source":"Mozilla/5.0
45
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
46
- Safari/535.7","updated_at":"2012-01-12T20:45:24Z","view_counter":0,"href":"http://my.cl.ly/items/13949886","url":"http://cl.ly/322M3q1t261o30012s32","content_url":"http://cl.ly/322M3q1t261o30012s32/Epic%20Sax%20Guy%20NES%20Remix.mp3","icon":"http://assets.my.cld.me/images/item-types/audio.png","subscribed":false,"download_url":"http://api.cld.me/322M3q1t261o30012s32/download/Epic%20Sax%20Guy%20NES%20Remix.mp3"},{"created_at":"2012-01-12T20:45:05Z","deleted_at":null,"id":13949869,"item_type":"text","name":"2011-05-03-cloudapp-1.5-released.md","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/2011-05-03-cloudapp-1.5-released.md","source":"Mozilla/5.0
47
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
48
- Safari/535.7","updated_at":"2012-02-07T15:35:28Z","view_counter":4,"href":"http://my.cl.ly/items/13949869","url":"http://cl.ly/0s1o3A46290S1s331G28","content_url":"http://cl.ly/0s1o3A46290S1s331G28/2011-05-03-cloudapp-1.5-released.md","icon":"http://assets.my.cld.me/images/item-types/text.png","subscribed":false,"download_url":"http://api.cld.me/0s1o3A46290S1s331G28/download/2011-05-03-cloudapp-1.5-released.md"},{"created_at":"2012-01-12T20:44:58Z","deleted_at":null,"id":13949858,"item_type":"image","name":"Cover.jpeg","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Cover.jpeg","source":"Mozilla/5.0
49
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
50
- Safari/535.7","updated_at":"2012-02-07T15:34:41Z","view_counter":1,"href":"http://my.cl.ly/items/13949858","url":"http://cl.ly/1x200A0m3v101d1n2O1u","content_url":"http://cl.ly/1x200A0m3v101d1n2O1u/Cover.jpeg","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/1x200A0m3v101d1n2O1u","subscribed":false,"download_url":"http://api.cld.me/1x200A0m3v101d1n2O1u/download/Cover.jpeg"},{"created_at":"2012-01-12T20:44:54Z","deleted_at":null,"id":13949855,"item_type":"text","name":"Chapter
51
- 1.md","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Chapter%201.md","source":"Mozilla/5.0
52
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
53
- Safari/535.7","updated_at":"2012-02-10T02:09:36Z","view_counter":8,"href":"http://my.cl.ly/items/13949855","url":"http://cl.ly/3U3d3w3r0G0T1T1M0d2T","content_url":"http://cl.ly/3U3d3w3r0G0T1T1M0d2T/Chapter%201.md","icon":"http://assets.my.cld.me/images/item-types/text.png","subscribed":false,"download_url":"http://api.cld.me/3U3d3w3r0G0T1T1M0d2T/download/Chapter%201.md"},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949577,"item_type":"bookmark","name":"Link
54
- 40","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-02-07T15:35:45Z","view_counter":3,"href":"http://my.cl.ly/items/13949577","url":"http://cl.ly/2O2J1h3t0H0v1I1u0t0P","content_url":"http://cl.ly/2O2J1h3t0H0v1I1u0t0P","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949576,"item_type":"bookmark","name":"Link
55
- 39","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949576","url":"http://cl.ly/2t062C1h393d2L452U2Z","content_url":"http://cl.ly/2t062C1h393d2L452U2Z","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949575,"item_type":"bookmark","name":"Link
56
- 38","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949575","url":"http://cl.ly/1S131o2v2J3z2r0A0Q0W","content_url":"http://cl.ly/1S131o2v2J3z2r0A0Q0W","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949574,"item_type":"bookmark","name":"Link
57
- 37","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949574","url":"http://cl.ly/423a3W361X1l1i2w0q30","content_url":"http://cl.ly/423a3W361X1l1i2w0q30","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949573,"item_type":"bookmark","name":"Link
58
- 36","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949573","url":"http://cl.ly/3m3u2b1y461a2M3i0a0o","content_url":"http://cl.ly/3m3u2b1y461a2M3i0a0o","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949572,"item_type":"bookmark","name":"Link
59
- 35","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949572","url":"http://cl.ly/1Q1G170D1B2c2X3R0C2M","content_url":"http://cl.ly/1Q1G170D1B2c2X3R0C2M","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949571,"item_type":"bookmark","name":"Link
60
- 34","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949571","url":"http://cl.ly/3s153f2u3m1L471T390C","content_url":"http://cl.ly/3s153f2u3m1L471T390C","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949570,"item_type":"bookmark","name":"Link
61
- 33","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949570","url":"http://cl.ly/1W2f000i091B2128303J","content_url":"http://cl.ly/1W2f000i091B2128303J","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949568,"item_type":"bookmark","name":"Link
62
- 32","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949568","url":"http://cl.ly/333d0V1B403M0d2f2o09","content_url":"http://cl.ly/333d0V1B403M0d2f2o09","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949567,"item_type":"bookmark","name":"Link
63
- 31","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949567","url":"http://cl.ly/260m2h3T0O2P272k2F3h","content_url":"http://cl.ly/260m2h3T0O2P272k2F3h","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949566,"item_type":"bookmark","name":"Link
64
- 30","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949566","url":"http://cl.ly/411H1g1a3y2T2B3U322x","content_url":"http://cl.ly/411H1g1a3y2T2B3U322x","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949565,"item_type":"bookmark","name":"Link
65
- 29","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949565","url":"http://cl.ly/3B1V3H0c0c3s3O2u1Q0c","content_url":"http://cl.ly/3B1V3H0c0c3s3O2u1Q0c","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949564,"item_type":"bookmark","name":"Link
66
- 28","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949564","url":"http://cl.ly/1w2e1K3j0T14193P2y1j","content_url":"http://cl.ly/1w2e1K3j0T14193P2y1j","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false}]'
67
- http_version:
68
- recorded_at: Wed, 15 Feb 2012 14:39:01 GMT
69
- - request:
70
- method: get
71
- uri: https://my.cl.ly/items?api_version=1.2
72
- body: ''
73
- headers:
74
- Authorization:
75
- - Token token="8762f6679f8d001016b2"
76
- Accept:
77
- - application/json, text/x-yaml, application/xml, application/xhtml+xml, text/html,
78
- text/plain
79
- response:
80
- status:
81
- code: 200
82
- message: OK
83
- headers:
84
- Cache-Control:
85
- - max-age=0, private, must-revalidate
86
- Content-Type:
87
- - application/json; charset=utf-8
88
- Etag:
89
- - ! '"8338ad65017a4f430109d336992c2424"'
90
- Last-Modified:
91
- - Wed, 15 Feb 2012 14:38:48 GMT
92
- Server:
93
- - thin 1.3.1 codename Triple Espresso
94
- X-Runtime:
95
- - '0.093783'
96
- X-Ua-Compatible:
97
- - IE=Edge,chrome=1
98
- Transfer-Encoding:
99
- - chunked
100
- Connection:
101
- - keep-alive
102
- body: ! '{"items":[{"created_at":"2012-01-12T20:49:23Z","deleted_at":null,"id":13950097,"item_type":"image","name":"favicon.ico","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/favicon.ico","source":"Mozilla/5.0
103
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
104
- Safari/535.7","updated_at":"2012-02-07T15:34:17Z","view_counter":3,"href":"http://my.cl.ly/items/13950097","url":"http://cl.ly/0P281s1u1J1p47241B3o","content_url":"http://cl.ly/0P281s1u1J1p47241B3o/favicon.ico","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/0P281s1u1J1p47241B3o","subscribed":false,"download_url":"http://api.cld.me/0P281s1u1J1p47241B3o/download/favicon.ico"},{"created_at":"2012-01-12T20:49:13Z","deleted_at":null,"id":13950087,"item_type":"image","name":"\u00f8\u00e6\u00d8\u00fc\u00f6\u00e4\u00df!?&+-.jpeg","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg","source":"Mozilla/5.0
105
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
106
- Safari/535.7","updated_at":"2012-01-18T23:25:10Z","view_counter":6,"href":"http://my.cl.ly/items/13950087","url":"http://cl.ly/2n3a3S3f0J2w3X453r3L","content_url":"http://cl.ly/2n3a3S3f0J2w3X453r3L/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/2n3a3S3f0J2w3X453r3L","subscribed":false,"download_url":"http://api.cld.me/2n3a3S3f0J2w3X453r3L/download/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg"},{"created_at":"2012-01-12T20:48:03Z","deleted_at":null,"id":13950015,"item_type":"bookmark","name":"The
107
- Hitchhiker''s Guide to the Galaxy","private":true,"redirect_url":"http://en.wikipedia.org/wiki/The_Hitchhiker''s_Guide_to_the_Galaxy","remote_url":null,"source":"Mozilla/5.0
108
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
109
- Safari/535.7","updated_at":"2012-02-07T15:34:23Z","view_counter":4,"href":"http://my.cl.ly/items/13950015","url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","content_url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:45:24Z","deleted_at":null,"id":13949886,"item_type":"audio","name":"Epic
110
- Sax Guy NES Remix.mp3","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Epic%20Sax%20Guy%20NES%20Remix.mp3","source":"Mozilla/5.0
111
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
112
- Safari/535.7","updated_at":"2012-01-12T20:45:24Z","view_counter":0,"href":"http://my.cl.ly/items/13949886","url":"http://cl.ly/322M3q1t261o30012s32","content_url":"http://cl.ly/322M3q1t261o30012s32/Epic%20Sax%20Guy%20NES%20Remix.mp3","icon":"http://assets.my.cld.me/images/item-types/audio.png","subscribed":false,"download_url":"http://api.cld.me/322M3q1t261o30012s32/download/Epic%20Sax%20Guy%20NES%20Remix.mp3"},{"created_at":"2012-01-12T20:45:05Z","deleted_at":null,"id":13949869,"item_type":"text","name":"2011-05-03-cloudapp-1.5-released.md","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/2011-05-03-cloudapp-1.5-released.md","source":"Mozilla/5.0
113
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
114
- Safari/535.7","updated_at":"2012-02-07T15:35:28Z","view_counter":4,"href":"http://my.cl.ly/items/13949869","url":"http://cl.ly/0s1o3A46290S1s331G28","content_url":"http://cl.ly/0s1o3A46290S1s331G28/2011-05-03-cloudapp-1.5-released.md","icon":"http://assets.my.cld.me/images/item-types/text.png","subscribed":false,"download_url":"http://api.cld.me/0s1o3A46290S1s331G28/download/2011-05-03-cloudapp-1.5-released.md"},{"created_at":"2012-01-12T20:44:58Z","deleted_at":null,"id":13949858,"item_type":"image","name":"Cover.jpeg","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Cover.jpeg","source":"Mozilla/5.0
115
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
116
- Safari/535.7","updated_at":"2012-02-07T15:34:41Z","view_counter":1,"href":"http://my.cl.ly/items/13949858","url":"http://cl.ly/1x200A0m3v101d1n2O1u","content_url":"http://cl.ly/1x200A0m3v101d1n2O1u/Cover.jpeg","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/1x200A0m3v101d1n2O1u","subscribed":false,"download_url":"http://api.cld.me/1x200A0m3v101d1n2O1u/download/Cover.jpeg"},{"created_at":"2012-01-12T20:44:54Z","deleted_at":null,"id":13949855,"item_type":"text","name":"Chapter
117
- 1.md","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Chapter%201.md","source":"Mozilla/5.0
118
- (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
119
- Safari/535.7","updated_at":"2012-02-10T02:09:36Z","view_counter":8,"href":"http://my.cl.ly/items/13949855","url":"http://cl.ly/3U3d3w3r0G0T1T1M0d2T","content_url":"http://cl.ly/3U3d3w3r0G0T1T1M0d2T/Chapter%201.md","icon":"http://assets.my.cld.me/images/item-types/text.png","subscribed":false,"download_url":"http://api.cld.me/3U3d3w3r0G0T1T1M0d2T/download/Chapter%201.md"},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949577,"item_type":"bookmark","name":"Link
120
- 40","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-02-07T15:35:45Z","view_counter":3,"href":"http://my.cl.ly/items/13949577","url":"http://cl.ly/2O2J1h3t0H0v1I1u0t0P","content_url":"http://cl.ly/2O2J1h3t0H0v1I1u0t0P","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949576,"item_type":"bookmark","name":"Link
121
- 39","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949576","url":"http://cl.ly/2t062C1h393d2L452U2Z","content_url":"http://cl.ly/2t062C1h393d2L452U2Z","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949575,"item_type":"bookmark","name":"Link
122
- 38","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949575","url":"http://cl.ly/1S131o2v2J3z2r0A0Q0W","content_url":"http://cl.ly/1S131o2v2J3z2r0A0Q0W","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949574,"item_type":"bookmark","name":"Link
123
- 37","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949574","url":"http://cl.ly/423a3W361X1l1i2w0q30","content_url":"http://cl.ly/423a3W361X1l1i2w0q30","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949573,"item_type":"bookmark","name":"Link
124
- 36","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949573","url":"http://cl.ly/3m3u2b1y461a2M3i0a0o","content_url":"http://cl.ly/3m3u2b1y461a2M3i0a0o","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949572,"item_type":"bookmark","name":"Link
125
- 35","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949572","url":"http://cl.ly/1Q1G170D1B2c2X3R0C2M","content_url":"http://cl.ly/1Q1G170D1B2c2X3R0C2M","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949571,"item_type":"bookmark","name":"Link
126
- 34","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949571","url":"http://cl.ly/3s153f2u3m1L471T390C","content_url":"http://cl.ly/3s153f2u3m1L471T390C","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949570,"item_type":"bookmark","name":"Link
127
- 33","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949570","url":"http://cl.ly/1W2f000i091B2128303J","content_url":"http://cl.ly/1W2f000i091B2128303J","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949568,"item_type":"bookmark","name":"Link
128
- 32","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949568","url":"http://cl.ly/333d0V1B403M0d2f2o09","content_url":"http://cl.ly/333d0V1B403M0d2f2o09","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949567,"item_type":"bookmark","name":"Link
129
- 31","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949567","url":"http://cl.ly/260m2h3T0O2P272k2F3h","content_url":"http://cl.ly/260m2h3T0O2P272k2F3h","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949566,"item_type":"bookmark","name":"Link
130
- 30","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949566","url":"http://cl.ly/411H1g1a3y2T2B3U322x","content_url":"http://cl.ly/411H1g1a3y2T2B3U322x","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949565,"item_type":"bookmark","name":"Link
131
- 29","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949565","url":"http://cl.ly/3B1V3H0c0c3s3O2u1Q0c","content_url":"http://cl.ly/3B1V3H0c0c3s3O2u1Q0c","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949564,"item_type":"bookmark","name":"Link
132
- 28","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949564","url":"http://cl.ly/1w2e1K3j0T14193P2y1j","content_url":"http://cl.ly/1w2e1K3j0T14193P2y1j","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false}],"links":{"self":"https://my.cl.ly/items?api_version=1.2&page=1&per_page=20","next":"https://my.cl.ly/items?api_version=1.2&page=2&per_page=20"}}'
133
- http_version:
134
- recorded_at: Wed, 15 Feb 2012 14:39:02 GMT
135
- - request:
136
- method: get
137
- uri: https://my.cl.ly/items/new?item%5Bprivate%5D=false
138
- body: ''
139
- headers:
140
- Authorization:
141
- - Token token="8762f6679f8d001016b2"
142
- Accept:
143
- - application/json, text/x-yaml, application/xml, application/xhtml+xml, text/html,
144
- text/plain
145
- response:
146
- status:
147
- code: 200
148
- message: OK
149
- headers:
150
- Cache-Control:
151
- - max-age=0, private, must-revalidate
152
- Content-Type:
153
- - application/json; charset=utf-8
154
- Etag:
155
- - ! '"2d1af46dfc22262da0e9cf935b9793f4"'
156
- Link:
157
- - <http://store.getcloudapp.com/cart?email=arthur%40dent.com>; rel="payment"
158
- Server:
159
- - thin 1.3.1 codename Triple Espresso
160
- X-Runtime:
161
- - '0.037587'
162
- X-Ua-Compatible:
163
- - IE=Edge,chrome=1
164
- Transfer-Encoding:
165
- - chunked
166
- Connection:
167
- - keep-alive
168
- body: ! '{"url":"http://f.cl.ly","max_upload_size":26214400,"uploads_remaining":10,"params":{"AWSAccessKeyId":"AKIAIDPUZISHSBEOFS6Q","acl":"public-read","key":"items/2B0E373Z1J2U1u071E28/${filename}","success_action_redirect":"http://my.cl.ly/items/s3?item%5Bprivate%5D=false","policy":"eyJleHBpcmF0aW9uIjoiMjAxMi0wMi0xNVQxNDo1Mzo1OFoiLCJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJmLmNsLmx5In0seyJhY2wiOiJwdWJsaWMtcmVhZCJ9LHsic3VjY2Vzc19hY3Rpb25fcmVkaXJlY3QiOiJodHRwOi8vbXkuY2wubHkvaXRlbXMvczM/aXRlbSU1QnByaXZhdGUlNUQ9ZmFsc2UifSxbImNvbnRlbnQtbGVuZ3RoLXJhbmdlIiwwLDI2MjE0NDAwXSxbInN0YXJ0cy13aXRoIiwiJGtleSIsIml0ZW1zLzJCMEUzNzNaMUoyVTF1MDcxRTI4LyJdXX0=","signature":"Z/fOhkEIewdqkSx6J8GoeEf11Zs="}}'
169
- http_version:
170
- recorded_at: Wed, 15 Feb 2012 14:39:02 GMT
171
- - request:
172
- method: post
173
- uri: https://s3.amazonaws.com/f.cl.ly/
174
- body: !binary |-
175
- LS0tLS0tLS0tLS0tLVJ1YnlNdWx0aXBhcnRQb3N0DQpDb250ZW50LURpc3Bv
176
- c2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkFXU0FjY2Vzc0tleUlkIg0KDQpB
177
- S0lBSURQVVpJU0hTQkVPRlM2UQ0KLS0tLS0tLS0tLS0tLVJ1YnlNdWx0aXBh
178
- cnRQb3N0DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9
179
- ImFjbCINCg0KcHVibGljLXJlYWQNCi0tLS0tLS0tLS0tLS1SdWJ5TXVsdGlw
180
- YXJ0UG9zdA0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1l
181
- PSJrZXkiDQoNCml0ZW1zLzJCMEUzNzNaMUoyVTF1MDcxRTI4LyR7ZmlsZW5h
182
- bWV9DQotLS0tLS0tLS0tLS0tUnVieU11bHRpcGFydFBvc3QNCkNvbnRlbnQt
183
- RGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ic3VjY2Vzc19hY3Rpb25f
184
- cmVkaXJlY3QiDQoNCmh0dHA6Ly9teS5jbC5seS9pdGVtcy9zMz9pdGVtJTVC
185
- cHJpdmF0ZSU1RD1mYWxzZQ0KLS0tLS0tLS0tLS0tLVJ1YnlNdWx0aXBhcnRQ
186
- b3N0DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InBv
187
- bGljeSINCg0KZXlKbGVIQnBjbUYwYVc5dUlqb2lNakF4TWkwd01pMHhOVlF4
188
- TkRvMU16bzFPRm9pTENKamIyNWthWFJwYjI1eklqcGJleUppZFdOclpYUWlP
189
- aUptTG1Oc0xteDVJbjBzZXlKaFkyd2lPaUp3ZFdKc2FXTXRjbVZoWkNKOUxI
190
- c2ljM1ZqWTJWemMxOWhZM1JwYjI1ZmNtVmthWEpsWTNRaU9pSm9kSFJ3T2k4
191
- dmJYa3VZMnd1YkhrdmFYUmxiWE12Y3pNL2FYUmxiU1UxUW5CeWFYWmhkR1Vs
192
- TlVROVptRnNjMlVpZlN4YkltTnZiblJsYm5RdGJHVnVaM1JvTFhKaGJtZGxJ
193
- aXd3TERJMk1qRTBOREF3WFN4YkluTjBZWEowY3kxM2FYUm9JaXdpSkd0bGVT
194
- SXNJbWwwWlcxekx6SkNNRVV6TnpOYU1Vb3lWVEYxTURjeFJUSTRMeUpkWFgw
195
- PQ0KLS0tLS0tLS0tLS0tLVJ1YnlNdWx0aXBhcnRQb3N0DQpDb250ZW50LURp
196
- c3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InNpZ25hdHVyZSINCg0KWi9m
197
- T2hrRUlld2Rxa1N4Nko4R29lRWYxMVpzPQ0KLS0tLS0tLS0tLS0tLVJ1YnlN
198
- dWx0aXBhcnRQb3N0DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7
199
- IG5hbWU9ImZpbGUiOyBmaWxlbmFtZT0iZmF2aWNvbi5pY28iDQpDb250ZW50
200
- LUxlbmd0aDogMTE1MA0KQ29udGVudC1UeXBlOiBpbWFnZS9wbmcNCkNvbnRl
201
- bnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJpbmFyeQ0KDQoAAAEAAQAQEAAAAQAg
202
- AGgEAAAWAAAAKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAIBwAACAcAAAAAAAA
203
- AAAAAIUyEUGFMhHQhTIR5oUyEeaFMhHmhTIR5oUyEeaFMhHmhTIR5oUyEeaF
204
- MhHmhTIR5oUyEeaFMhHmhTIR0IUyEUGHNRPOnEcd96RNIP+kTSD/pE0g/6RN
205
- IP+kTSD/pE0g/6RNIP+kTSD/pE0g/6RNIP+kTSD/pE0g/5xHHfeHNRPOiDgW
206
- 5qZRI/+mUSP/plEj/6ZRI/+mUSP/plEj/6ZRI/+mUSP/plEj/6ZRI/+mUSP/
207
- plEj/6ZRI/+mUSP/iDgW5oo7GuapVij/p1Un/4VAHf9vMxb/azAV/2swFf9r
208
- MBX/azAV/2swFf9rMBX/dDUY/4pDH/+oVSj/qVYo/4o7GuaMPx3mq1ss/4dH
209
- JP+zh2//37ul/+jFsP/oxbD/6MWw/+jFsP/oxbD/6MWw/9awmv+pe2P/iUci
210
- /6tbLP+MPx3mjkIh5q9hMv++lX//6su4/+rLuP/qy7j/6su4/+rLuP/qy7j/
211
- 6su4/+rLuP/qy7j/6su4/7OJcf+sXzH/jkIh5pBGJeayZzf/6Mu7/+3Swv/t
212
- 0sL/7dLC/+3Swv/t0sL/7dLC/+3Swv/t0sL/7dLC/+3Swv/s0MD/s2s9/5BG
213
- JeaSSijmtG08/967pf/w2s3/8NrN//Dazf/w2s3/8NrN//Dazf/w2s3/8NrN
214
- //Dazf/w2s3/7dXH/7VwP/+SSijmlU4s5rhzQv+9fE7/4b+o//Ti2P/04tj/
215
- 9OLY//Ti2P/04tj/9OLY//Ti2P/04tj/9OLY/9etkf+4c0L/lU4s5pdSMOa7
216
- eUf/u3lH/7t5R/+9fUz/8+Xc//fq4v/36uL/9+ri//fq4v/36uL/79vO/9iw
217
- kv+8ekn/u3lH/5dSMOaZVjTmvn9N/75/Tf++f03/vn9N/+TJtf/68uz/+vLs
218
- //ry7P/68uz/5867/75/Tf++f03/vn9N/75/Tf+ZVjTmm1k35sGFUf/BhVH/
219
- wYVR/8GFUf/FjV3/58+6//r07v/58er/5cu1/8SKWf/BhVH/wYVR/8GFUf/B
220
- hVH/m1k35p1dOubEiVf/xIlW/8SJVv/EiVb/xIlW/8SJVv/EiVb/xIlW/8SJ
221
- Vv/EiVb/xIlW/8SJVv/EiVb/xIlX/51dOuaeYD3mypVj/8aPWv/Gjln/xo5Z
222
- /8aOWf/Gjln/xo5Z/8aOWf/Gjln/xo5Z/8aOWf/Gjln/xo9a/8qVY/+eYD3m
223
- oGJA0MaZdfbTqH//0qZ7/9Kme//Spnv/0qZ7/9Kme//Spnv/0qZ7/9Kme//S
224
- pnv/0qZ7/9Oof//GmXX2oGJA0KFlQjmhZUK1oWVC5qFlQuahZULmoWVC5qFl
225
- QuahZULmoWVC5qFlQuahZULmoWVC5qFlQuahZULmoWVCtaFlQjkAAAAAAADw
226
- vwAAAAAAAAAAAAAJCgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAP//
227
- AAD//wAAAwUAAAAADQotLS0tLS0tLS0tLS0tUnVieU11bHRpcGFydFBvc3Qt
228
- LQ0KDQo=
229
- headers:
230
- Content-Type:
231
- - multipart/form-data;boundary=-----------RubyMultipartPost
232
- Content-Length:
233
- - '2390'
234
- response:
235
- status:
236
- code: 303
237
- message: Continue
238
- headers:
239
- X-Amz-Id-2:
240
- - Nlj8XPnwVy891z4sJdkBCHl7/9MDsbYKe+/E2juC+MnokanBIOCR6mzvcxjDsV8g
241
- X-Amz-Request-Id:
242
- - 41BAA5FC5FE2314D
243
- Date:
244
- - Wed, 15 Feb 2012 14:39:00 GMT
245
- Etag:
246
- - ! '"567d2d49d2d30e2db956d680a4d03f25"'
247
- Location:
248
- - http://my.cl.ly/items/s3?item%5Bprivate%5D=false&bucket=f.cl.ly&key=items%2F2B0E373Z1J2U1u071E28%2Ffavicon.ico&etag=%22567d2d49d2d30e2db956d680a4d03f25%22
249
- Content-Length:
250
- - '0'
251
- Server:
252
- - AmazonS3
253
- body: ''
254
- http_version:
255
- recorded_at: Wed, 15 Feb 2012 14:39:02 GMT
256
- - request:
257
- method: get
258
- uri: https://my.cl.ly/items/s3?bucket=f.cl.ly&etag=%22567d2d49d2d30e2db956d680a4d03f25%22&item%5Bprivate%5D=false&key=items/2B0E373Z1J2U1u071E28/favicon.ico
259
- body: ''
260
- headers:
261
- Authorization:
262
- - Token token="8762f6679f8d001016b2"
263
- Accept:
264
- - application/json, text/x-yaml, application/xml, application/xhtml+xml, text/html,
265
- text/plain
266
- response:
267
- status:
268
- code: 200
269
- message: OK
270
- headers:
271
- Cache-Control:
272
- - max-age=0, private, must-revalidate
273
- Content-Type:
274
- - application/json; charset=utf-8
275
- Etag:
276
- - ! '"4b1474c95d8a0924601772aacc6e77f1"'
277
- Server:
278
- - thin 1.3.1 codename Triple Espresso
279
- Set-Cookie:
280
- - _engine_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRiIlYjUwMWYyMGY0MjU3OGZiNGQ4MzkzYzBiMDQ3YzU5Y2ZJIgpmbGFzaAY7AEZJQzolQWN0aW9uRGlzcGF0Y2g6OkZsYXNoOjpGbGFzaEhhc2h7BjoMc3VjY2Vzc0kiDlVwbG9hZGVkIQY7AEYGOgpAdXNlZG86CFNldAY6CkBoYXNoewA%3D--917f84e9cc0e750ba6f476a8949f4b63824a846d;
281
- path=/; HttpOnly
282
- X-Runtime:
283
- - '0.063912'
284
- X-Ua-Compatible:
285
- - IE=Edge,chrome=1
286
- Transfer-Encoding:
287
- - chunked
288
- Connection:
289
- - keep-alive
290
- body: ! '{"created_at":"2012-02-15T14:38:59Z","deleted_at":null,"id":15224473,"item_type":"image","name":"favicon.ico","private":false,"redirect_url":null,"remote_url":"http://f.cl.ly/items/2B0E373Z1J2U1u071E28/favicon.ico","source":null,"updated_at":"2012-02-15T14:38:59Z","view_counter":0,"href":"http://my.cl.ly/items/15224473","url":"http://cl.ly/EEIA","content_url":"http://cl.ly/EEIA/favicon.ico","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/EEIA","subscribed":false,"download_url":"http://api.cld.me/EEIA/download/favicon.ico"}'
291
- http_version:
292
- recorded_at: Wed, 15 Feb 2012 14:39:03 GMT
293
- recorded_with: VCR 2.0.0.rc1
@@ -1,59 +0,0 @@
1
- require 'helper'
2
- require 'tempfile'
3
-
4
- require 'cloudapp/config'
5
-
6
- describe CloudApp::Config do
7
- let(:config) { {} }
8
- let(:content) { YAML.dump(config) }
9
- let(:path) { config_file.path }
10
- let(:config_file) {
11
- Tempfile.new('cloudapprc', '.').tap do |file|
12
- file << content
13
- file.close
14
- end
15
- }
16
-
17
- describe '#new' do
18
- subject { CloudApp::Config.new path }
19
-
20
- describe 'an existing config file' do
21
- let(:config) {{ token: 'token' }}
22
-
23
- it 'reads the content' do
24
- subject.token.should eq(config[:token])
25
- end
26
-
27
- it 'updates a key' do
28
- new_token = 'new token'
29
- subject.token = new_token
30
- expected = YAML.dump token: new_token
31
-
32
- content = File.open(path) {|file| file.read }
33
- content.should eq(expected)
34
- end
35
-
36
- it 'clears a key' do
37
- subject.token = nil
38
- expected = YAML.dump({})
39
-
40
- content = File.open(path) {|file| file.read }
41
- content.should eq(expected)
42
- end
43
- end
44
-
45
- describe 'an empty config file' do
46
- it 'returns nil' do
47
- subject.token.should be_nil
48
- end
49
- end
50
-
51
- describe 'a nonexistent config file' do
52
- let(:path) { 'nonexistent' }
53
-
54
- it 'returns nil' do
55
- subject.token.should be_nil
56
- end
57
- end
58
- end
59
- end
@@ -1,21 +0,0 @@
1
- require 'helper'
2
- require 'support/vcr_rspec'
3
-
4
- require 'cloudapp/drop_content'
5
-
6
- describe CloudApp::DropContent do
7
- describe '.download' do
8
- let(:content_url) { 'http://cl.ly/C23W/drop_presenter.rb' }
9
- let(:drop) { stub :drop, content_url: content_url }
10
- subject {
11
- VCR.use_cassette('DropContent/download') {
12
- CloudApp::DropContent.download drop
13
- }
14
- }
15
-
16
- it 'downloads content' do
17
- expected = "require 'delegate'"
18
- subject[0...expected.size].should == expected
19
- end
20
- end
21
- end
@@ -1,120 +0,0 @@
1
- require 'helper'
2
- require 'stringio'
3
-
4
- require 'cloudapp/drop_presenter'
5
-
6
- describe CloudApp::DropPresenter do
7
- describe '.print' do
8
- let(:waiting) { 'Bookmarking... ' }
9
- let(:result) { 'http://cl.ly/abc123' }
10
- let(:action) { -> { result }}
11
- let(:io) { StringIO.new }
12
-
13
- describe 'a single line' do
14
- subject {
15
- CloudApp::DropPresenter.print(options, &action)
16
- io.tap(&:rewind).readlines
17
- }
18
-
19
- describe 'with no format' do
20
- let(:options) {{ on: io, waiting: waiting }}
21
-
22
- it 'pretty prints' do
23
- expected = [ waiting, result, "\n" ].join
24
- subject.first.should eq(expected)
25
- end
26
- end
27
-
28
- describe 'with no waiting message' do
29
- let(:options) {{ on: io, format: :pretty }}
30
-
31
- it 'prints only the result' do
32
- expected = [ result, "\n" ].join
33
- subject.first.should eq(expected)
34
- end
35
- end
36
-
37
- describe 'csv format' do
38
- let(:options) {{ on: io, waiting: waiting, format: :csv }}
39
-
40
- it 'omits the waiting message' do
41
- options[:format] = :csv
42
- expected = [ result, "\n" ].join
43
- subject.first.should eq(expected)
44
- end
45
- end
46
- end
47
-
48
- describe 'a table of data' do
49
- let(:columns) {{ name: 'Name', url: 'Link' }}
50
- let(:result) {
51
- [ stub(:result1, name: 'Stub 1', url: 'http://stub1.com'),
52
- stub(:result2, name: 'Stub 2', url: 'http://stub2.com') ]
53
- }
54
- let(:options) {{ on: io, format: format, columns: columns }}
55
-
56
- subject {
57
- CloudApp::DropPresenter.print(options, &action)
58
- io.tap(&:rewind).readlines
59
- }
60
-
61
- describe 'pretty format' do
62
- let(:format) { :pretty }
63
-
64
- it 'prints column headers' do
65
- subject.first.should eq("Name Link \n")
66
- end
67
-
68
- it 'prints table data' do
69
- subject.should have(3).items
70
- subject[1].should eq("Stub 1 http://stub1.com\n")
71
- subject[2].should eq("Stub 2 http://stub2.com\n")
72
- end
73
-
74
- it 'prints non-string values' do
75
- result << stub(:result3, name: 'Stub 3', url: 3)
76
- subject[3].should eq("Stub 3 3 \n")
77
- end
78
- end
79
-
80
- describe 'csv format' do
81
- let(:format) { :csv }
82
-
83
- it 'prints column headers' do
84
- subject.first.should eq("Name,Link\n")
85
- end
86
-
87
- it 'prints table data' do
88
- subject.should have(3).items
89
- subject[1].should eq("Stub 1,http://stub1.com\n")
90
- subject[2].should eq("Stub 2,http://stub2.com\n")
91
- end
92
- end
93
- end
94
-
95
- describe 'providing multiple formats' do
96
- let(:result) {{ pretty: 'pretty', csv: 'csv' }}
97
- subject {
98
- CloudApp::DropPresenter.print(options, &action)
99
- io.tap(&:rewind).readlines
100
- }
101
-
102
- describe 'pretty format' do
103
- let(:options) {{ on: io, format: :pretty }}
104
-
105
- it 'pretty prints' do
106
- subject.first.should eq("pretty\n")
107
- end
108
- end
109
-
110
- describe 'csv format' do
111
- let(:options) {{ on: io, format: :csv }}
112
-
113
- it 'prints csv' do
114
- subject.first.should eq("csv\n")
115
- end
116
- end
117
-
118
- end
119
- end
120
- end