cloudapp 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +2 -2
- data/bin/cloudapp +39 -29
- data/cloudapp.gemspec +11 -8
- data/lib/cloudapp/drop.rb +5 -0
- data/lib/cloudapp/drop_presenter.rb +76 -0
- data/lib/cloudapp/drop_service.rb +9 -4
- data/lib/cloudapp.rb +1 -1
- data/spec/cassettes/{CloudApp_DropService/_drops/returns_a_list_of_drops.yml → DropService/list_drops.yml} +30 -40
- data/spec/cassettes/{CloudApp_DropService/_drops/limits_list_to_the_given_number_of_drops.yml → DropService/list_drops_with_limit.yml} +21 -21
- data/spec/cassettes/{CloudApp_DropService/_drops/returns_a_list_of_trashed_drops.yml → DropService/list_trash.yml} +21 -21
- data/spec/cloudapp/drop_presenter_spec.rb +95 -0
- data/spec/cloudapp/drop_service_spec.rb +91 -23
- data/spec/support/vcr.rb +0 -14
- data/spec/support/vcr_rspec.rb +0 -1
- metadata +33 -30
- /data/spec/cassettes/{CloudApp_DropService/_create/creates_a_bookmark.yml → DropService/create_bookmark.yml} +0 -0
- /data/spec/cassettes/{CloudApp_DropService/_create/creates_a_bookmark_with_a_name.yml → DropService/create_bookmark_with_name.yml} +0 -0
- /data/spec/cassettes/{CloudApp_DropService/_create/creates_a_file.yml → DropService/upload_file.yml} +0 -0
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cloudapp (0.0.
|
4
|
+
cloudapp (0.0.8)
|
5
5
|
addressable
|
6
6
|
faraday (~> 0.8.0.rc2)
|
7
7
|
formatador
|
@@ -20,7 +20,7 @@ GEM
|
|
20
20
|
multipart-post (~> 1.1)
|
21
21
|
fattr (2.2.1)
|
22
22
|
formatador (0.2.1)
|
23
|
-
gli (1.
|
23
|
+
gli (1.5.1)
|
24
24
|
hookr (1.1.1)
|
25
25
|
fail-fast (= 1.0.0)
|
26
26
|
hpricot (0.8.6)
|
data/bin/cloudapp
CHANGED
@@ -7,6 +7,7 @@ require 'formatador'
|
|
7
7
|
require 'pathname'
|
8
8
|
|
9
9
|
require 'cloudapp'
|
10
|
+
require 'cloudapp/drop_presenter'
|
10
11
|
require 'cloudapp/drop_service'
|
11
12
|
require 'cloudapp/identity'
|
12
13
|
|
@@ -27,6 +28,16 @@ def check_for_credentials(global_options)
|
|
27
28
|
1
|
28
29
|
end
|
29
30
|
|
31
|
+
def format_from(global_options)
|
32
|
+
set_default_format global_options
|
33
|
+
global_options[:format].to_sym
|
34
|
+
end
|
35
|
+
|
36
|
+
def set_default_format(global_options)
|
37
|
+
return unless global_options[:format].nil?
|
38
|
+
global_options[:format] = $stdout.tty? ? :pretty : :csv
|
39
|
+
end
|
40
|
+
|
30
41
|
|
31
42
|
include GLI
|
32
43
|
|
@@ -42,9 +53,9 @@ desc 'CloudApp account password'
|
|
42
53
|
arg_name 'password'
|
43
54
|
flag :password
|
44
55
|
|
45
|
-
|
46
|
-
|
47
|
-
|
56
|
+
desc 'Format of the output (default: pretty for TTY, csv otherwise)'
|
57
|
+
arg_name 'csv|pretty'
|
58
|
+
flag [:f, :format]
|
48
59
|
|
49
60
|
desc 'Create a bookmark to each URL'
|
50
61
|
arg_name '[url...]'
|
@@ -52,11 +63,16 @@ command [:bookmark, :shorten] do |c|
|
|
52
63
|
c.action do |global_options, options, urls|
|
53
64
|
check_for_credentials global_options
|
54
65
|
|
55
|
-
url
|
66
|
+
url = URI.parse urls.first
|
67
|
+
waiting = "Bookmarking #{ url }... "
|
68
|
+
format = format_from global_options
|
56
69
|
|
57
|
-
|
58
|
-
|
59
|
-
|
70
|
+
CloudApp::DropPresenter.print(on: $stdout,
|
71
|
+
waiting: waiting,
|
72
|
+
format: format) do
|
73
|
+
new_drop = service(global_options).create url: url
|
74
|
+
new_drop.url
|
75
|
+
end
|
60
76
|
end
|
61
77
|
end
|
62
78
|
|
@@ -66,11 +82,16 @@ command :upload do |c|
|
|
66
82
|
c.action do |global_options, options, files|
|
67
83
|
check_for_credentials global_options
|
68
84
|
|
69
|
-
file
|
85
|
+
file = Pathname.new files.first
|
86
|
+
waiting = "Uploading #{ file }... "
|
87
|
+
format = format_from global_options
|
70
88
|
|
71
|
-
|
72
|
-
|
73
|
-
|
89
|
+
CloudApp::DropPresenter.print(on: $stdout,
|
90
|
+
waiting: waiting,
|
91
|
+
format: format) do
|
92
|
+
new_drop = service(global_options).create path: file
|
93
|
+
new_drop.url
|
94
|
+
end
|
74
95
|
end
|
75
96
|
end
|
76
97
|
|
@@ -85,26 +106,15 @@ command [:list, :ls] do |c|
|
|
85
106
|
c.action do |global_options, options, args|
|
86
107
|
check_for_credentials global_options
|
87
108
|
|
88
|
-
count
|
89
|
-
|
90
|
-
|
91
|
-
name_width = drops.map {|drop| drop['name'].to_s.size }.max
|
92
|
-
views_width = [ 5, drops.map {|drop| drop['view_counter'].to_s.size }.max ].max
|
93
|
-
link_width = drops.map {|drop| drop['url'].size }.max
|
109
|
+
count = options[:count].to_i
|
110
|
+
columns = { name: 'Name', url: 'Link', view_counter: 'Views' }
|
111
|
+
format = format_from global_options
|
94
112
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
lines = drops.map do |drop|
|
101
|
-
[ drop['name'].to_s.ljust(name_width),
|
102
|
-
drop['url'],
|
103
|
-
drop['view_counter'].to_s.center(views_width)
|
104
|
-
].join ' '
|
113
|
+
CloudApp::DropPresenter.print(on: $stdout,
|
114
|
+
columns: columns,
|
115
|
+
format: format) do
|
116
|
+
service(global_options).drops count
|
105
117
|
end
|
106
|
-
|
107
|
-
Formatador.display_lines lines
|
108
118
|
end
|
109
119
|
end
|
110
120
|
|
data/cloudapp.gemspec
CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
|
|
13
13
|
## If your rubyforge_project name is different, then edit it and comment out
|
14
14
|
## the sub! line in the Rakefile
|
15
15
|
s.name = 'cloudapp'
|
16
|
-
s.version = '0.0.
|
17
|
-
s.date = '2012-02-
|
16
|
+
s.version = '0.0.8'
|
17
|
+
s.date = '2012-02-08'
|
18
18
|
s.rubyforge_project = 'cloudapp'
|
19
19
|
|
20
20
|
## Make sure your summary is short. The description may be as long
|
@@ -72,17 +72,20 @@ Gem::Specification.new do |s|
|
|
72
72
|
cloudapp.gemspec
|
73
73
|
lib/cloudapp.rb
|
74
74
|
lib/cloudapp/digestable_typhoeus.rb
|
75
|
+
lib/cloudapp/drop.rb
|
76
|
+
lib/cloudapp/drop_presenter.rb
|
75
77
|
lib/cloudapp/drop_service.rb
|
76
78
|
lib/cloudapp/identity.rb
|
77
79
|
man/cloudapp.1
|
78
80
|
man/cloudapp.1.html
|
79
81
|
man/cloudapp.1.ronn
|
80
|
-
spec/cassettes/
|
81
|
-
spec/cassettes/
|
82
|
-
spec/cassettes/
|
83
|
-
spec/cassettes/
|
84
|
-
spec/cassettes/
|
85
|
-
spec/cassettes/
|
82
|
+
spec/cassettes/DropService/create_bookmark.yml
|
83
|
+
spec/cassettes/DropService/create_bookmark_with_name.yml
|
84
|
+
spec/cassettes/DropService/list_drops.yml
|
85
|
+
spec/cassettes/DropService/list_drops_with_limit.yml
|
86
|
+
spec/cassettes/DropService/list_trash.yml
|
87
|
+
spec/cassettes/DropService/upload_file.yml
|
88
|
+
spec/cloudapp/drop_presenter_spec.rb
|
86
89
|
spec/cloudapp/drop_service_spec.rb
|
87
90
|
spec/cloudapp/identity_spec.rb
|
88
91
|
spec/helper.rb
|
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'csv'
|
2
|
+
require 'delegate'
|
3
|
+
require 'formatador'
|
4
|
+
|
5
|
+
module CloudApp
|
6
|
+
class DropPresenter
|
7
|
+
def initialize(io, format, waiting, columns, action)
|
8
|
+
@io = io
|
9
|
+
@format = format
|
10
|
+
@waiting = waiting
|
11
|
+
@columns = columns
|
12
|
+
@action = action
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.print(options, &action)
|
16
|
+
new(options.fetch(:on),
|
17
|
+
options.fetch(:format, :pretty),
|
18
|
+
options.fetch(:waiting, nil),
|
19
|
+
options.fetch(:columns, nil),
|
20
|
+
action).print
|
21
|
+
end
|
22
|
+
|
23
|
+
def pretty?() @format == :pretty end
|
24
|
+
def csv?() @format == :csv end
|
25
|
+
|
26
|
+
def print
|
27
|
+
@io.print @waiting if pretty?
|
28
|
+
@io.puts lines
|
29
|
+
end
|
30
|
+
|
31
|
+
protected
|
32
|
+
|
33
|
+
def lines
|
34
|
+
if not @columns
|
35
|
+
response
|
36
|
+
else
|
37
|
+
headings = @columns.values
|
38
|
+
lines = response.inject([ headings ]) do |lines, item|
|
39
|
+
lines << extract_values(item)
|
40
|
+
end
|
41
|
+
|
42
|
+
if csv?
|
43
|
+
csv = CSV.generate do |csv|
|
44
|
+
lines.each do |line|
|
45
|
+
csv << line
|
46
|
+
end
|
47
|
+
end
|
48
|
+
else
|
49
|
+
column_widths = lines.transpose.map do |column|
|
50
|
+
column.map(&:size).max
|
51
|
+
end
|
52
|
+
|
53
|
+
lines.map do |line|
|
54
|
+
line.each_with_index.map do |value, i|
|
55
|
+
value.ljust column_widths[i]
|
56
|
+
end.join ' '
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def extract_values(item)
|
63
|
+
value_methods.map do |method|
|
64
|
+
item.send(method).to_s
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def value_methods
|
69
|
+
@columns.keys
|
70
|
+
end
|
71
|
+
|
72
|
+
def response
|
73
|
+
@response ||= @action.call
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'leadlight'
|
2
2
|
require 'addressable/uri'
|
3
3
|
require 'cloudapp/digestable_typhoeus'
|
4
|
+
require 'cloudapp/drop'
|
4
5
|
|
5
6
|
# Leadlight service for mucking about with drops in the CloudApp API.
|
6
7
|
#
|
@@ -107,11 +108,15 @@ module CloudApp
|
|
107
108
|
end
|
108
109
|
|
109
110
|
def drops(count = 20)
|
110
|
-
root.paginated_drops(per_page: count)['items']
|
111
|
+
root.paginated_drops(per_page: count)['items'].map do |drop_data|
|
112
|
+
Drop.new drop_data
|
113
|
+
end
|
111
114
|
end
|
112
115
|
|
113
116
|
def trash(count = 20)
|
114
|
-
root.paginated_trash(per_page: count)['items']
|
117
|
+
root.paginated_trash(per_page: count)['items'].map do |drop_data|
|
118
|
+
Drop.new drop_data
|
119
|
+
end
|
115
120
|
end
|
116
121
|
|
117
122
|
def create(attributes)
|
@@ -132,7 +137,7 @@ module CloudApp
|
|
132
137
|
def create_bookmark(body)
|
133
138
|
root.link('drops').post({}, body).raise_on_error.
|
134
139
|
submit_and_wait do |new_drop|
|
135
|
-
return new_drop
|
140
|
+
return Drop.new new_drop
|
136
141
|
end
|
137
142
|
end
|
138
143
|
|
@@ -151,7 +156,7 @@ module CloudApp
|
|
151
156
|
|
152
157
|
conn.post(uri.request_uri, payload).on_complete do |env|
|
153
158
|
get(env[:response_headers]['Location']).raise_on_error.
|
154
|
-
submit_and_wait {
|
159
|
+
submit_and_wait {|new_drop| return Drop.new new_drop }
|
155
160
|
end
|
156
161
|
end
|
157
162
|
end
|
data/lib/cloudapp.rb
CHANGED
@@ -11,60 +11,50 @@ http_interactions:
|
|
11
11
|
response:
|
12
12
|
status:
|
13
13
|
code: 200
|
14
|
-
message:
|
14
|
+
message: OK
|
15
15
|
headers:
|
16
16
|
Cache-Control:
|
17
17
|
- max-age=0, private, must-revalidate
|
18
|
-
- no-cache
|
19
18
|
Content-Type:
|
20
19
|
- application/json; charset=utf-8
|
21
|
-
|
20
|
+
Etag:
|
21
|
+
- ! '"b8c1ca469c09126f7f9ce69980251653"'
|
22
|
+
Last-Modified:
|
23
|
+
- Tue, 07 Feb 2012 21:46:35 GMT
|
22
24
|
Server:
|
23
25
|
- thin 1.2.11 codename Bat-Shit Crazy
|
24
|
-
-
|
25
|
-
|
26
|
-
|
27
|
-
|
26
|
+
Set-Cookie:
|
27
|
+
- _engine_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlNmNjODZmMTkyYWE4OTAxN2Y0NDUxMDUwNWVlODRjMDFJIhV1c2VyX2NyZWRlbnRpYWxzBjsARkkiAYAxYTM5Mjg4MzhlZDcwY2UyOGVkYWRkOGE1MDU2NWU1MzFlNzlhOTg4ODQxZmY5NTkxMjAzNWNhYTU1ZmIxZTZhODliMmMzN2VlYzkzMzFmOWE2ZDRjN2Y1ZDM4ZDIwNGE5NjM1ZTI0YTAxNzM1NDNiYThkNDlhNDkxY2M5NDM3MAY7AFRJIhh1c2VyX2NyZWRlbnRpYWxzX2lkBjsARmkDp4EB--c26e5e17cc2e75be5c10a330b1139882508405d0;
|
28
|
+
path=/; HttpOnly
|
29
|
+
- user_credentials=1a3928838ed70ce28edadd8a50565e531e79a988841ff95912035caa55fb1e6a89b2c37eec9331f9a6d4c7f5d38d204a9635e24a0173543ba8d49a491cc94370%3A%3A98727;
|
30
|
+
path=/; expires=Mon, 07-May-2012 21:48:10 GMT
|
28
31
|
X-Runtime:
|
29
|
-
- '0.
|
30
|
-
- '0.095477'
|
32
|
+
- '0.134210'
|
31
33
|
X-Ua-Compatible:
|
32
34
|
- IE=Edge,chrome=1
|
33
|
-
- IE=Edge,chrome=1
|
34
35
|
Transfer-Encoding:
|
35
36
|
- chunked
|
36
|
-
- chunked
|
37
37
|
Connection:
|
38
38
|
- keep-alive
|
39
|
-
- keep-alive
|
40
|
-
Etag:
|
41
|
-
- ! '"ba7a68df162c830fc24a342ccdd7e0b8"'
|
42
|
-
Last-Modified:
|
43
|
-
- Mon, 06 Feb 2012 17:31:34 GMT
|
44
|
-
Set-Cookie:
|
45
|
-
- _engine_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlMjQ3MmEyYzhlOTA2NzI2MjM4NDE3MDA3ZjQyNjJkNzRJIhV1c2VyX2NyZWRlbnRpYWxzBjsARkkiAYAxYTM5Mjg4MzhlZDcwY2UyOGVkYWRkOGE1MDU2NWU1MzFlNzlhOTg4ODQxZmY5NTkxMjAzNWNhYTU1ZmIxZTZhODliMmMzN2VlYzkzMzFmOWE2ZDRjN2Y1ZDM4ZDIwNGE5NjM1ZTI0YTAxNzM1NDNiYThkNDlhNDkxY2M5NDM3MAY7AFRJIhh1c2VyX2NyZWRlbnRpYWxzX2lkBjsARmkDp4EB--ca603f3b4a80ae7399dac97bfbc308d4d6816b90;
|
46
|
-
path=/; HttpOnly
|
47
|
-
- user_credentials=1a3928838ed70ce28edadd8a50565e531e79a988841ff95912035caa55fb1e6a89b2c37eec9331f9a6d4c7f5d38d204a9635e24a0173543ba8d49a491cc94370%3A%3A98727;
|
48
|
-
path=/; expires=Sun, 06-May-2012 17:32:57 GMT
|
49
39
|
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
|
50
40
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
51
|
-
Safari/535.7","updated_at":"2012-
|
41
|
+
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
|
52
42
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
53
43
|
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
|
54
44
|
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
|
55
45
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
56
|
-
Safari/535.7","updated_at":"2012-
|
46
|
+
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
|
57
47
|
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
|
58
48
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
59
49
|
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
|
60
50
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
61
|
-
Safari/535.7","updated_at":"2012-02-
|
51
|
+
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
|
62
52
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
63
|
-
Safari/535.7","updated_at":"2012-
|
53
|
+
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
|
64
54
|
1.md","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Chapter%201.md","source":"Mozilla/5.0
|
65
55
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
66
|
-
Safari/535.7","updated_at":"2012-02-
|
67
|
-
40","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-
|
56
|
+
Safari/535.7","updated_at":"2012-02-07T15:34:41Z","view_counter":7,"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
|
57
|
+
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
|
68
58
|
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
|
69
59
|
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
|
70
60
|
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
|
@@ -78,7 +68,7 @@ http_interactions:
|
|
78
68
|
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
|
79
69
|
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}]'
|
80
70
|
http_version:
|
81
|
-
recorded_at:
|
71
|
+
recorded_at: Tue, 07 Feb 2012 21:48:11 GMT
|
82
72
|
- request:
|
83
73
|
method: get
|
84
74
|
uri: http://arthur%40dent.com:towel@my.cl.ly/items?api_version=1.2&per_page=20
|
@@ -97,18 +87,18 @@ http_interactions:
|
|
97
87
|
Content-Type:
|
98
88
|
- application/json; charset=utf-8
|
99
89
|
Etag:
|
100
|
-
- ! '"
|
90
|
+
- ! '"b8c1ca469c09126f7f9ce69980251653"'
|
101
91
|
Last-Modified:
|
102
|
-
-
|
92
|
+
- Tue, 07 Feb 2012 21:46:35 GMT
|
103
93
|
Server:
|
104
94
|
- thin 1.2.11 codename Bat-Shit Crazy
|
105
95
|
Set-Cookie:
|
106
|
-
- _engine_session=
|
96
|
+
- _engine_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlOTQ5YzRmYTExMmM5YjY0ZDhmMDY4YzBjZGI5MWI3YTNJIhV1c2VyX2NyZWRlbnRpYWxzBjsARkkiAYAxYTM5Mjg4MzhlZDcwY2UyOGVkYWRkOGE1MDU2NWU1MzFlNzlhOTg4ODQxZmY5NTkxMjAzNWNhYTU1ZmIxZTZhODliMmMzN2VlYzkzMzFmOWE2ZDRjN2Y1ZDM4ZDIwNGE5NjM1ZTI0YTAxNzM1NDNiYThkNDlhNDkxY2M5NDM3MAY7AFRJIhh1c2VyX2NyZWRlbnRpYWxzX2lkBjsARmkDp4EB--39590d9c55531384f21437ebabcc1e43283e6e16;
|
107
97
|
path=/; HttpOnly
|
108
98
|
- user_credentials=1a3928838ed70ce28edadd8a50565e531e79a988841ff95912035caa55fb1e6a89b2c37eec9331f9a6d4c7f5d38d204a9635e24a0173543ba8d49a491cc94370%3A%3A98727;
|
109
|
-
path=/; expires=
|
99
|
+
path=/; expires=Mon, 07-May-2012 21:48:11 GMT
|
110
100
|
X-Runtime:
|
111
|
-
- '0.
|
101
|
+
- '0.270567'
|
112
102
|
X-Ua-Compatible:
|
113
103
|
- IE=Edge,chrome=1
|
114
104
|
Transfer-Encoding:
|
@@ -117,23 +107,23 @@ http_interactions:
|
|
117
107
|
- keep-alive
|
118
108
|
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
|
119
109
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
120
|
-
Safari/535.7","updated_at":"2012-
|
110
|
+
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
|
121
111
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
122
112
|
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
|
123
113
|
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
|
124
114
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
125
|
-
Safari/535.7","updated_at":"2012-
|
115
|
+
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
|
126
116
|
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
|
127
117
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
128
118
|
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
|
129
119
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
130
|
-
Safari/535.7","updated_at":"2012-02-
|
120
|
+
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
|
131
121
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
132
|
-
Safari/535.7","updated_at":"2012-
|
122
|
+
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
|
133
123
|
1.md","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Chapter%201.md","source":"Mozilla/5.0
|
134
124
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
135
|
-
Safari/535.7","updated_at":"2012-02-
|
136
|
-
40","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-
|
125
|
+
Safari/535.7","updated_at":"2012-02-07T15:34:41Z","view_counter":7,"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
|
126
|
+
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
|
137
127
|
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
|
138
128
|
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
|
139
129
|
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
|
@@ -147,5 +137,5 @@ http_interactions:
|
|
147
137
|
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
|
148
138
|
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":"http://my.cl.ly/items?api_version=1.2&page=1&per_page=20","next":"http://my.cl.ly/items?api_version=1.2&page=2&per_page=20"}}'
|
149
139
|
http_version:
|
150
|
-
recorded_at:
|
140
|
+
recorded_at: Tue, 07 Feb 2012 21:48:11 GMT
|
151
141
|
recorded_with: VCR 2.0.0.rc1
|