tumblr_client 0.8.4 → 0.8.5
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.
- checksums.yaml +4 -4
- data/lib/tumblr/client.rb +4 -0
- data/lib/tumblr/config.rb +2 -1
- data/lib/tumblr/connection.rb +3 -3
- data/lib/tumblr/version.rb +1 -1
- data/spec/examples/blog_spec.rb +24 -24
- data/spec/examples/client_spec.rb +26 -6
- data/spec/examples/post_spec.rb +36 -36
- data/spec/examples/request_spec.rb +9 -9
- data/spec/examples/tagged_spec.rb +2 -2
- data/spec/examples/user_spec.rb +14 -14
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a6f882c0459f4fa220a6e1fabf01e06fea93f0d5
|
4
|
+
data.tar.gz: 6dbefc136aac9e58b6d8a8f74a789f358b17e6a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1082142f48eda16cd1fc58bcf9f406f2b6bc8b3450399cb8d41e01405ed691e86914ee6e89f3f5ba12889e9e8e42b887e65c904a82f1584d3fe2cb79ee33563e
|
7
|
+
data.tar.gz: ac903bc1b8be3373ac5c9f9de917cb3d32cad5993288c3bf1a2ce99e1f176a8de0c8baabfbb8f93df842c8a3779efcfe7f6bc5d18fd9ba87076f6c5056e1f8c8
|
data/lib/tumblr/client.rb
CHANGED
data/lib/tumblr/config.rb
CHANGED
data/lib/tumblr/connection.rb
CHANGED
@@ -12,13 +12,13 @@ module Tumblr
|
|
12
12
|
:accept => 'application/json',
|
13
13
|
:user_agent => "tumblr_client (ruby) - #{Tumblr::VERSION}"
|
14
14
|
},
|
15
|
-
:url => "
|
15
|
+
:url => "#{api_scheme}://#{api_host}/"
|
16
16
|
}
|
17
17
|
|
18
18
|
client = Faraday.default_adapter
|
19
19
|
|
20
|
-
Faraday.new(
|
21
|
-
data = { :api_host => api_host }.merge(credentials)
|
20
|
+
Faraday.new(default_options.merge(options)) do |conn|
|
21
|
+
data = { :api_host => api_host, :ignore_extra_keys => true}.merge(credentials)
|
22
22
|
unless credentials.empty?
|
23
23
|
conn.request :oauth, data
|
24
24
|
end
|
data/lib/tumblr/version.rb
CHANGED
data/spec/examples/blog_spec.rb
CHANGED
@@ -11,19 +11,19 @@ describe Tumblr::Blog do
|
|
11
11
|
describe :blog_info do
|
12
12
|
|
13
13
|
it 'should make the proper request' do
|
14
|
-
client.
|
14
|
+
expect(client).to receive(:get).once.with("v2/blog/#{blog_name}/info", {
|
15
15
|
:api_key => consumer_key
|
16
16
|
}).and_return 'response'
|
17
17
|
r = client.blog_info blog_name
|
18
|
-
r.
|
18
|
+
expect(r).to eq('response')
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'should make the proper request with a short blog name' do
|
22
|
-
client.
|
22
|
+
expect(client).to receive(:get).once.with("v2/blog/b.tumblr.com/info", {
|
23
23
|
:api_key => consumer_key
|
24
24
|
}).and_return 'response'
|
25
25
|
r = client.blog_info 'b'
|
26
|
-
r.
|
26
|
+
expect(r).to eq('response')
|
27
27
|
end
|
28
28
|
|
29
29
|
end
|
@@ -33,13 +33,13 @@ describe Tumblr::Blog do
|
|
33
33
|
context 'when supplying a size' do
|
34
34
|
|
35
35
|
before do
|
36
|
-
client.
|
36
|
+
expect(client).to receive(:get_redirect_url).once.with("v2/blog/#{blog_name}/avatar/128").
|
37
37
|
and_return('url')
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'should construct the request properly' do
|
41
41
|
r = client.avatar blog_name, 128
|
42
|
-
r.
|
42
|
+
expect(r).to eq('url')
|
43
43
|
end
|
44
44
|
|
45
45
|
end
|
@@ -47,13 +47,13 @@ describe Tumblr::Blog do
|
|
47
47
|
context 'when no size is specified' do
|
48
48
|
|
49
49
|
before do
|
50
|
-
client.
|
50
|
+
expect(client).to receive(:get_redirect_url).once.with("v2/blog/#{blog_name}/avatar").
|
51
51
|
and_return('url')
|
52
52
|
end
|
53
53
|
|
54
54
|
it 'should construct the request properly' do
|
55
55
|
r = client.avatar blog_name
|
56
|
-
r.
|
56
|
+
expect(r).to eq('url')
|
57
57
|
end
|
58
58
|
|
59
59
|
end
|
@@ -65,9 +65,9 @@ describe Tumblr::Blog do
|
|
65
65
|
context 'with invalid parameters' do
|
66
66
|
|
67
67
|
it 'should raise an error' do
|
68
|
-
lambda {
|
68
|
+
expect(lambda {
|
69
69
|
client.followers blog_name, :not => 'an option'
|
70
|
-
}.
|
70
|
+
}).to raise_error ArgumentError
|
71
71
|
end
|
72
72
|
|
73
73
|
end
|
@@ -75,14 +75,14 @@ describe Tumblr::Blog do
|
|
75
75
|
context 'with valid parameters' do
|
76
76
|
|
77
77
|
before do
|
78
|
-
client.
|
78
|
+
expect(client).to receive(:get).once.with("v2/blog/#{blog_name}/followers", {
|
79
79
|
:limit => 1
|
80
80
|
}).and_return('response')
|
81
81
|
end
|
82
82
|
|
83
83
|
it 'should construct the request properly' do
|
84
84
|
r = client.followers blog_name, :limit => 1
|
85
|
-
r.
|
85
|
+
expect(r).to eq'response'
|
86
86
|
end
|
87
87
|
|
88
88
|
end
|
@@ -94,9 +94,9 @@ describe Tumblr::Blog do
|
|
94
94
|
context 'with invalid parameters' do
|
95
95
|
|
96
96
|
it 'should raise an error' do
|
97
|
-
lambda {
|
97
|
+
expect(lambda {
|
98
98
|
client.blog_likes blog_name, :not => 'an option'
|
99
|
-
}.
|
99
|
+
}).to raise_error ArgumentError
|
100
100
|
end
|
101
101
|
|
102
102
|
end
|
@@ -104,7 +104,7 @@ describe Tumblr::Blog do
|
|
104
104
|
context 'with valid parameters' do
|
105
105
|
|
106
106
|
before do
|
107
|
-
client.
|
107
|
+
expect(client).to receive(:get).once.with("v2/blog/#{blog_name}/likes", {
|
108
108
|
:limit => 1,
|
109
109
|
:api_key => consumer_key
|
110
110
|
}).and_return('response')
|
@@ -112,7 +112,7 @@ describe Tumblr::Blog do
|
|
112
112
|
|
113
113
|
it 'should construct the request properly' do
|
114
114
|
r = client.blog_likes blog_name, :limit => 1
|
115
|
-
r.
|
115
|
+
expect(r).to eq('response')
|
116
116
|
end
|
117
117
|
|
118
118
|
end
|
@@ -124,7 +124,7 @@ describe Tumblr::Blog do
|
|
124
124
|
context 'without a type supplied' do
|
125
125
|
|
126
126
|
before do
|
127
|
-
client.
|
127
|
+
expect(client).to receive(:get).once.with("v2/blog/#{blog_name}/posts", {
|
128
128
|
:limit => 1,
|
129
129
|
:api_key => consumer_key
|
130
130
|
}).and_return('response')
|
@@ -132,7 +132,7 @@ describe Tumblr::Blog do
|
|
132
132
|
|
133
133
|
it 'should construct the request properly' do
|
134
134
|
r = client.posts blog_name, :limit => 1
|
135
|
-
r.
|
135
|
+
expect(r).to eq('response')
|
136
136
|
end
|
137
137
|
|
138
138
|
end
|
@@ -140,7 +140,7 @@ describe Tumblr::Blog do
|
|
140
140
|
context 'when supplying a type' do
|
141
141
|
|
142
142
|
before do
|
143
|
-
client.
|
143
|
+
expect(client).to receive(:get).once.with("v2/blog/#{blog_name}/posts/audio", {
|
144
144
|
:limit => 1,
|
145
145
|
:api_key => consumer_key,
|
146
146
|
:type => 'audio'
|
@@ -149,7 +149,7 @@ describe Tumblr::Blog do
|
|
149
149
|
|
150
150
|
it 'should construct the request properly' do
|
151
151
|
r = client.posts blog_name, :limit => 1, :type => 'audio'
|
152
|
-
r.
|
152
|
+
expect(r).to eq('response')
|
153
153
|
end
|
154
154
|
|
155
155
|
end
|
@@ -166,9 +166,9 @@ describe Tumblr::Blog do
|
|
166
166
|
context 'when using parameters other than limit & offset' do
|
167
167
|
|
168
168
|
it 'should raise an error' do
|
169
|
-
lambda {
|
169
|
+
expect(lambda {
|
170
170
|
client.send type, blog_name, :not => 'an option'
|
171
|
-
}.
|
171
|
+
}).to raise_error ArgumentError
|
172
172
|
end
|
173
173
|
|
174
174
|
end
|
@@ -177,11 +177,11 @@ describe Tumblr::Blog do
|
|
177
177
|
|
178
178
|
it 'should construct the call properly' do
|
179
179
|
limit = 5
|
180
|
-
client.
|
180
|
+
expect(client).to receive(:get).once.with("v2/blog/#{blog_name}/posts/#{ext}", {
|
181
181
|
:limit => limit
|
182
182
|
}).and_return('response')
|
183
183
|
r = client.send type, blog_name, :limit => limit
|
184
|
-
r.
|
184
|
+
expect(r).to eq('response')
|
185
185
|
end
|
186
186
|
|
187
187
|
end
|
@@ -13,16 +13,16 @@ describe Tumblr::Client do
|
|
13
13
|
|
14
14
|
it 'should give new clients those credentials' do
|
15
15
|
client = Tumblr::Client.new
|
16
|
-
client.credentials[:consumer_key].
|
16
|
+
expect(client.credentials[:consumer_key]).to eq(@key)
|
17
17
|
end
|
18
18
|
|
19
19
|
it 'should have it\'s own credentials' do
|
20
|
-
Tumblr.credentials[:consumer_key].
|
20
|
+
expect(Tumblr.credentials[:consumer_key]).to eq(@key)
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'should be able to make a new client (using these credentials)' do
|
24
|
-
Tumblr.new.
|
25
|
-
Tumblr.new.credentials[:consumer_key].
|
24
|
+
expect(Tumblr.new).to be_a(Tumblr::Client)
|
25
|
+
expect(Tumblr.new.credentials[:consumer_key]).to eq(@key)
|
26
26
|
end
|
27
27
|
|
28
28
|
end
|
@@ -35,10 +35,30 @@ describe Tumblr::Client do
|
|
35
35
|
end
|
36
36
|
|
37
37
|
it 'should keep them separate' do
|
38
|
-
[
|
38
|
+
expect([
|
39
39
|
@client1.credentials[:consumer_key],
|
40
40
|
@client2.credentials[:consumer_key]
|
41
|
-
].uniq.count.
|
41
|
+
].uniq.count).to eq(2)
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
describe :api_scheme do
|
47
|
+
|
48
|
+
it 'defaults to https' do
|
49
|
+
expect(Tumblr::Client.new.api_scheme).to eq('https')
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'can be set by the initializer' do
|
53
|
+
client = Tumblr::Client.new(:api_scheme => 'http')
|
54
|
+
expect(client.api_scheme).to eq('http')
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'can be set globally' do
|
58
|
+
Tumblr.configure do |c|
|
59
|
+
c.api_scheme = 'http'
|
60
|
+
end
|
61
|
+
expect(Tumblr::Client.new.api_scheme).to eq('http')
|
42
62
|
end
|
43
63
|
|
44
64
|
end
|
data/spec/examples/post_spec.rb
CHANGED
@@ -14,7 +14,7 @@ describe Tumblr::Post do
|
|
14
14
|
context 'when deleting a post' do
|
15
15
|
|
16
16
|
before do
|
17
|
-
client.
|
17
|
+
expect(client).to receive(:post).once.with("v2/blog/#{blog_name}/post/delete", {
|
18
18
|
:id => post_id
|
19
19
|
})
|
20
20
|
end
|
@@ -33,8 +33,8 @@ describe Tumblr::Post do
|
|
33
33
|
context 'when passing data as an array of filepaths' do
|
34
34
|
before do
|
35
35
|
fakefile = OpenStruct.new :read => file_data
|
36
|
-
File.
|
37
|
-
client.
|
36
|
+
allow(File).to receive(:open).with(file_path + '.jpg').and_return(fakefile)
|
37
|
+
expect(client).to receive(:post).once.with("v2/blog/#{blog_name}/post/edit", {
|
38
38
|
'data[0]' => kind_of(Faraday::UploadIO),
|
39
39
|
:id => 123,
|
40
40
|
:type => type
|
@@ -43,12 +43,12 @@ describe Tumblr::Post do
|
|
43
43
|
|
44
44
|
it 'should be able to pass data as an array of filepaths' do
|
45
45
|
r = client.edit blog_name, :data => [file_path + ".jpg"], :id => 123, :type => type
|
46
|
-
r.
|
46
|
+
expect(r).to eq('response')
|
47
47
|
end
|
48
48
|
|
49
49
|
it 'should be able to pass data as an array of uploadios' do
|
50
50
|
r = client.edit blog_name, :data => [Faraday::UploadIO.new(StringIO.new, 'image/jpeg')], :id => 123, :type => type
|
51
|
-
r.
|
51
|
+
expect(r).to eq('response')
|
52
52
|
end
|
53
53
|
|
54
54
|
end
|
@@ -57,8 +57,8 @@ describe Tumblr::Post do
|
|
57
57
|
|
58
58
|
before do
|
59
59
|
fakefile = OpenStruct.new :read => file_data
|
60
|
-
File.
|
61
|
-
client.
|
60
|
+
allow(File).to receive(:open).with(file_path + '.jpg').and_return(fakefile)
|
61
|
+
expect(client).to receive(:post).once.with("v2/blog/#{blog_name}/post/edit", {
|
62
62
|
'data' => kind_of(Faraday::UploadIO),
|
63
63
|
:id => 123,
|
64
64
|
:type => type
|
@@ -67,12 +67,12 @@ describe Tumblr::Post do
|
|
67
67
|
|
68
68
|
it 'should be able to pass data as a single filepath' do
|
69
69
|
r = client.edit blog_name, :data => file_path + ".jpg", :id => 123, :type => type
|
70
|
-
r.
|
70
|
+
expect(r).to eq('response')
|
71
71
|
end
|
72
72
|
|
73
73
|
it 'should be able to pass data as a single uploadio' do
|
74
74
|
r = client.edit blog_name, :data => Faraday::UploadIO.new(StringIO.new, 'image/jpeg'), :id => 123, :type => type
|
75
|
-
r.
|
75
|
+
expect(r).to eq('response')
|
76
76
|
end
|
77
77
|
|
78
78
|
end
|
@@ -80,22 +80,22 @@ describe Tumblr::Post do
|
|
80
80
|
end
|
81
81
|
|
82
82
|
it 'should make the correct call' do
|
83
|
-
client.
|
83
|
+
expect(client).to receive(:post).once.with("v2/blog/#{blog_name}/post/edit", {
|
84
84
|
:id => 123
|
85
85
|
}).and_return('response')
|
86
86
|
r = client.edit blog_name, :id => 123
|
87
|
-
r.
|
87
|
+
expect(r).to eq('response')
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
91
91
|
describe :reblog do
|
92
92
|
|
93
93
|
it 'should make the correct call' do
|
94
|
-
client.
|
94
|
+
expect(client).to receive(:post).once.with("v2/blog/#{blog_name}/post/reblog", {
|
95
95
|
:id => 123
|
96
96
|
}).and_return('response')
|
97
97
|
r = client.reblog blog_name, :id => 123
|
98
|
-
r.
|
98
|
+
expect(r).to eq('response')
|
99
99
|
end
|
100
100
|
|
101
101
|
end
|
@@ -110,9 +110,9 @@ describe Tumblr::Post do
|
|
110
110
|
context 'when passing an option which is not allowed' do
|
111
111
|
|
112
112
|
it 'should raise an error' do
|
113
|
-
lambda {
|
113
|
+
expect(lambda {
|
114
114
|
client.send type, blog_name, :not => 'an option'
|
115
|
-
}.
|
115
|
+
}).to raise_error ArgumentError
|
116
116
|
end
|
117
117
|
|
118
118
|
end
|
@@ -121,7 +121,7 @@ describe Tumblr::Post do
|
|
121
121
|
|
122
122
|
before do
|
123
123
|
@val = 'hello world'
|
124
|
-
client.
|
124
|
+
expect(client).to receive(:post).once.with("v2/blog/#{blog_name}/post", {
|
125
125
|
field.to_sym => @val,
|
126
126
|
:type => type.to_s
|
127
127
|
}).and_return('response')
|
@@ -129,7 +129,7 @@ describe Tumblr::Post do
|
|
129
129
|
|
130
130
|
it 'should set up the call properly' do
|
131
131
|
r = client.send type, blog_name, field.to_sym => @val
|
132
|
-
r.
|
132
|
+
expect(r).to eq('response')
|
133
133
|
end
|
134
134
|
|
135
135
|
end
|
@@ -146,11 +146,11 @@ describe Tumblr::Post do
|
|
146
146
|
context 'with a valid post type' do
|
147
147
|
|
148
148
|
before do
|
149
|
-
client.
|
149
|
+
expect(client).to receive(:photo).with(blog_name, args).and_return 'hi'
|
150
150
|
end
|
151
151
|
|
152
152
|
it 'should call the right method and grab the return' do
|
153
|
-
client.create_post(:photo, blog_name, args).
|
153
|
+
expect(client.create_post(:photo, blog_name, args)).to eq('hi')
|
154
154
|
end
|
155
155
|
|
156
156
|
end
|
@@ -158,9 +158,9 @@ describe Tumblr::Post do
|
|
158
158
|
context 'with an invalid post type' do
|
159
159
|
|
160
160
|
it 'should raise an error' do
|
161
|
-
lambda do
|
161
|
+
expect(lambda do
|
162
162
|
client.create_post(:fake, blog_name, args)
|
163
|
-
end.
|
163
|
+
end).to raise_error ArgumentError, '"fake" is not a valid post type'
|
164
164
|
end
|
165
165
|
|
166
166
|
end
|
@@ -175,9 +175,9 @@ describe Tumblr::Post do
|
|
175
175
|
context 'when passing an option which is not allowed' do
|
176
176
|
|
177
177
|
it 'should raise an error' do
|
178
|
-
lambda {
|
178
|
+
expect(lambda {
|
179
179
|
client.send type, blog_name, :not => 'an option'
|
180
|
-
}.
|
180
|
+
}).to raise_error ArgumentError
|
181
181
|
end
|
182
182
|
|
183
183
|
end
|
@@ -185,8 +185,8 @@ describe Tumblr::Post do
|
|
185
185
|
context 'when passing data as an array of filepaths' do
|
186
186
|
before do
|
187
187
|
fakefile = OpenStruct.new :read => file_data
|
188
|
-
File.
|
189
|
-
client.
|
188
|
+
allow(File).to receive(:open).with(file_path + '.jpg').and_return(fakefile)
|
189
|
+
expect(client).to receive(:post).once.with("v2/blog/#{blog_name}/post", {
|
190
190
|
'data[0]' => kind_of(Faraday::UploadIO),
|
191
191
|
:type => type.to_s
|
192
192
|
}).and_return('post')
|
@@ -194,12 +194,12 @@ describe Tumblr::Post do
|
|
194
194
|
|
195
195
|
it 'should be able to pass data as an array of filepaths' do
|
196
196
|
r = client.send type, blog_name, :data => [file_path + ".jpg"]
|
197
|
-
r.
|
197
|
+
expect(r).to eq('post')
|
198
198
|
end
|
199
199
|
|
200
200
|
it 'should be able to pass data as an array of uploadios' do
|
201
201
|
r = client.send type, blog_name, :data => [Faraday::UploadIO.new(StringIO.new, 'image/jpeg')]
|
202
|
-
r.
|
202
|
+
expect(r).to eq('post')
|
203
203
|
end
|
204
204
|
|
205
205
|
end
|
@@ -208,8 +208,8 @@ describe Tumblr::Post do
|
|
208
208
|
|
209
209
|
before do
|
210
210
|
fakefile = OpenStruct.new :read => file_data
|
211
|
-
File.
|
212
|
-
client.
|
211
|
+
allow(File).to receive(:open).with(file_path + '.jpg').and_return(fakefile)
|
212
|
+
expect(client).to receive(:post).once.with("v2/blog/#{blog_name}/post", {
|
213
213
|
'data' => kind_of(Faraday::UploadIO),
|
214
214
|
:type => type.to_s
|
215
215
|
}).and_return('post')
|
@@ -217,12 +217,12 @@ describe Tumblr::Post do
|
|
217
217
|
|
218
218
|
it 'should be able to pass data as a single filepath' do
|
219
219
|
r = client.send type, blog_name, :data => file_path + ".jpg"
|
220
|
-
r.
|
220
|
+
expect(r).to eq('post')
|
221
221
|
end
|
222
222
|
|
223
223
|
it 'should be able to pass data as a single uploadio' do
|
224
224
|
r = client.send type, blog_name, :data => Faraday::UploadIO.new(StringIO.new, 'image/jpeg')
|
225
|
-
r.
|
225
|
+
expect(r).to eq('post')
|
226
226
|
end
|
227
227
|
|
228
228
|
end
|
@@ -233,7 +233,7 @@ describe Tumblr::Post do
|
|
233
233
|
context 'when passing source different ways' do
|
234
234
|
|
235
235
|
it 'should be able to be passed as a string' do
|
236
|
-
client.
|
236
|
+
expect(client).to receive(:post).once.with("v2/blog/#{blog_name}/post", {
|
237
237
|
:source => source,
|
238
238
|
:type => type.to_s
|
239
239
|
})
|
@@ -241,7 +241,7 @@ describe Tumblr::Post do
|
|
241
241
|
end
|
242
242
|
|
243
243
|
it 'should be able to be passed as an array' do
|
244
|
-
client.
|
244
|
+
expect(client).to receive(:post).once.with("v2/blog/#{blog_name}/post", {
|
245
245
|
'source[0]' => source,
|
246
246
|
'source[1]' => source,
|
247
247
|
:type => type.to_s
|
@@ -250,7 +250,7 @@ describe Tumblr::Post do
|
|
250
250
|
end
|
251
251
|
|
252
252
|
it 'should be able to be passed as an array on edit' do
|
253
|
-
client.
|
253
|
+
expect(client).to receive(:post).once.with("v2/blog/#{blog_name}/post/edit", {
|
254
254
|
:id => post_id,
|
255
255
|
'source[0]' => source,
|
256
256
|
'source[1]' => source
|
@@ -265,9 +265,9 @@ describe Tumblr::Post do
|
|
265
265
|
context 'when passing colliding options' do
|
266
266
|
|
267
267
|
it 'should get an error when passing data & source' do
|
268
|
-
lambda {
|
268
|
+
expect(lambda {
|
269
269
|
client.send type, blog_name, :data => 'hi', :source => 'bye'
|
270
|
-
}.
|
270
|
+
}).to raise_error ArgumentError
|
271
271
|
end
|
272
272
|
|
273
273
|
end
|
@@ -13,7 +13,7 @@ describe Tumblr::Request do
|
|
13
13
|
it 'should return the meta object' do
|
14
14
|
data = { :message => 'ohyes' }
|
15
15
|
response = OpenStruct.new(:status => rcode, :body => { 'response' => data })
|
16
|
-
client.respond(response).
|
16
|
+
expect(client.respond(response)).to eq(data)
|
17
17
|
end
|
18
18
|
|
19
19
|
end
|
@@ -25,13 +25,13 @@ describe Tumblr::Request do
|
|
25
25
|
it 'should return the meta object (merged with response)' do
|
26
26
|
meta = { :message => 'ohno' }
|
27
27
|
response = OpenStruct.new(:status => 401, :body => { 'meta' => meta, 'response' => { :also => 'hi' } })
|
28
|
-
client.respond(response).
|
28
|
+
expect(client.respond(response)).to eq({ :message => 'ohno', :also => 'hi' })
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'should return the meta object even when response is nil' do
|
32
32
|
meta = { :message => 'ohno' }
|
33
33
|
response = OpenStruct.new(:status => 401, :body => { 'meta' => meta, 'response' => nil })
|
34
|
-
client.respond(response).
|
34
|
+
expect(client.respond(response)).to eq(meta)
|
35
35
|
end
|
36
36
|
|
37
37
|
end
|
@@ -43,7 +43,7 @@ describe Tumblr::Request do
|
|
43
43
|
before do
|
44
44
|
@path = '/the/path'
|
45
45
|
@params = { :hello => 'world' }
|
46
|
-
client.
|
46
|
+
expect(client).to receive(:get_response).once.with(@path, @params).
|
47
47
|
and_return(OpenStruct.new({
|
48
48
|
:status => 200,
|
49
49
|
:body => { 'response' => 'result' }
|
@@ -51,7 +51,7 @@ describe Tumblr::Request do
|
|
51
51
|
end
|
52
52
|
|
53
53
|
it 'should get the response directly' do
|
54
|
-
client.get(@path, @params).
|
54
|
+
expect(client.get(@path, @params)).to eq('result')
|
55
55
|
end
|
56
56
|
|
57
57
|
end
|
@@ -64,7 +64,7 @@ describe Tumblr::Request do
|
|
64
64
|
@path = '/the/path'
|
65
65
|
@params = { :hello => 'world' }
|
66
66
|
@redirect_url = 'redirect-to-here'
|
67
|
-
client.
|
67
|
+
expect(client).to receive(:get_response).once.with(@path, @params).
|
68
68
|
and_return(OpenStruct.new({
|
69
69
|
:status => 301,
|
70
70
|
:headers => { 'Location' => @redirect_url }
|
@@ -72,7 +72,7 @@ describe Tumblr::Request do
|
|
72
72
|
end
|
73
73
|
|
74
74
|
it 'should return the redirect url' do
|
75
|
-
client.get_redirect_url(@path, @params).
|
75
|
+
expect(client.get_redirect_url(@path, @params)).to eq(@redirect_url)
|
76
76
|
end
|
77
77
|
|
78
78
|
end
|
@@ -83,7 +83,7 @@ describe Tumblr::Request do
|
|
83
83
|
@path = '/the/path'
|
84
84
|
@params = { :hello => 'world' }
|
85
85
|
@meta = { :message => 'ohno' }
|
86
|
-
client.
|
86
|
+
expect(client).to receive(:get_response).once.with(@path, @params).
|
87
87
|
and_return(OpenStruct.new({
|
88
88
|
:status => 401,
|
89
89
|
:body => { 'meta' => @meta }
|
@@ -91,7 +91,7 @@ describe Tumblr::Request do
|
|
91
91
|
end
|
92
92
|
|
93
93
|
it 'should return the error meta' do
|
94
|
-
client.get_redirect_url(@path, @params).
|
94
|
+
expect(client.get_redirect_url(@path, @params)).to eq(@meta)
|
95
95
|
end
|
96
96
|
|
97
97
|
end
|
@@ -15,7 +15,7 @@ describe Tumblr::Tagged do
|
|
15
15
|
describe :tagged do
|
16
16
|
|
17
17
|
before do
|
18
|
-
client.
|
18
|
+
expect(client).to receive(:get).once.with('v2/tagged', {
|
19
19
|
:tag => tag,
|
20
20
|
:api_key => consumer_key
|
21
21
|
}).and_return('response')
|
@@ -23,7 +23,7 @@ describe Tumblr::Tagged do
|
|
23
23
|
|
24
24
|
it 'should setup the request properly' do
|
25
25
|
r = client.tagged tag
|
26
|
-
r.
|
26
|
+
expect(r).to eq('response')
|
27
27
|
end
|
28
28
|
|
29
29
|
end
|
data/spec/examples/user_spec.rb
CHANGED
@@ -7,9 +7,9 @@ describe Tumblr::User do
|
|
7
7
|
describe :info do
|
8
8
|
|
9
9
|
it 'should make the request properly' do
|
10
|
-
client.
|
10
|
+
expect(client).to receive(:get).with('v2/user/info').and_return('response')
|
11
11
|
r = client.info
|
12
|
-
r.
|
12
|
+
expect(r).to eq('response')
|
13
13
|
end
|
14
14
|
|
15
15
|
end
|
@@ -19,9 +19,9 @@ describe Tumblr::User do
|
|
19
19
|
context 'when using options that are not allowed' do
|
20
20
|
|
21
21
|
it 'should raise an error' do
|
22
|
-
lambda {
|
22
|
+
expect(lambda {
|
23
23
|
client.dashboard :not => 'an option'
|
24
|
-
}.
|
24
|
+
}).to raise_error ArgumentError
|
25
25
|
end
|
26
26
|
|
27
27
|
end
|
@@ -29,11 +29,11 @@ describe Tumblr::User do
|
|
29
29
|
context 'when using valid options' do
|
30
30
|
|
31
31
|
it 'should make the correct call' do
|
32
|
-
client.
|
32
|
+
expect(client).to receive(:get).with('v2/user/dashboard', {
|
33
33
|
:limit => 25
|
34
34
|
}).and_return('response')
|
35
35
|
r = client.dashboard :limit => 25
|
36
|
-
r.
|
36
|
+
expect(r).to eq('response')
|
37
37
|
end
|
38
38
|
|
39
39
|
end
|
@@ -48,10 +48,10 @@ describe Tumblr::User do
|
|
48
48
|
context 'with defaults' do
|
49
49
|
|
50
50
|
it 'should make the reqest properly' do
|
51
|
-
client.
|
51
|
+
expect(client).to receive(:get).with("v2/user/#{type}", {}).
|
52
52
|
and_return('response')
|
53
53
|
r = client.send type
|
54
|
-
r.
|
54
|
+
expect(r).to eq('response')
|
55
55
|
end
|
56
56
|
|
57
57
|
end
|
@@ -59,12 +59,12 @@ describe Tumblr::User do
|
|
59
59
|
context 'with custom limit & offset' do
|
60
60
|
|
61
61
|
it 'should make the reqest properly' do
|
62
|
-
client.
|
62
|
+
expect(client).to receive(:get).with("v2/user/#{type}", {
|
63
63
|
:limit => 10,
|
64
64
|
:offset => 5
|
65
65
|
}).and_return('response')
|
66
66
|
r = client.send type, :offset => 5, :limit => 10
|
67
|
-
r.
|
67
|
+
expect(r).to eq('response')
|
68
68
|
end
|
69
69
|
|
70
70
|
end
|
@@ -81,12 +81,12 @@ describe Tumblr::User do
|
|
81
81
|
it 'should make the request properly' do
|
82
82
|
id = 123
|
83
83
|
reblog_key = 'hello'
|
84
|
-
client.
|
84
|
+
expect(client).to receive(:post).with("v2/user/#{type}", {
|
85
85
|
:id => id,
|
86
86
|
:reblog_key => reblog_key
|
87
87
|
}).and_return('response')
|
88
88
|
r = client.send type, id, reblog_key
|
89
|
-
r.
|
89
|
+
expect(r).to eq('response')
|
90
90
|
end
|
91
91
|
|
92
92
|
end
|
@@ -100,11 +100,11 @@ describe Tumblr::User do
|
|
100
100
|
|
101
101
|
it 'should make the request properly' do
|
102
102
|
url = 'some url'
|
103
|
-
client.
|
103
|
+
expect(client).to receive(:post).with("v2/user/#{type}", {
|
104
104
|
:url => url
|
105
105
|
}).and_return('response')
|
106
106
|
r = client.send type, url
|
107
|
-
r.
|
107
|
+
expect(r).to eq('response')
|
108
108
|
end
|
109
109
|
|
110
110
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tumblr_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Bunting
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-12-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|