redvine 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/redvine.rb +12 -5
- data/lib/redvine/version.rb +1 -1
- data/spec/redvine_spec.rb +33 -0
- metadata +2 -2
data/lib/redvine.rb
CHANGED
@@ -47,6 +47,12 @@ class Redvine
|
|
47
47
|
get_request_data('timelines/users/' + uid, opts)
|
48
48
|
end
|
49
49
|
|
50
|
+
def single_post(pid)
|
51
|
+
raise(ArgumentError, 'You must specify a post id') if !pid
|
52
|
+
response = get_request_data('/timelines/posts/' + pid)
|
53
|
+
return response.kind_of?(Array) ? response.first : response
|
54
|
+
end
|
55
|
+
|
50
56
|
|
51
57
|
private
|
52
58
|
def validate_connect_args(opts={})
|
@@ -68,12 +74,13 @@ class Redvine
|
|
68
74
|
query.merge!(:size => 20) if query.has_key?(:page) && !query.has_key?(:size)
|
69
75
|
args = {:headers => session_headers}
|
70
76
|
args.merge!(:query => query) if query != {}
|
71
|
-
response = HTTParty.get(@@baseUrl + endpoint, args)
|
72
|
-
|
73
|
-
|
74
|
-
|
77
|
+
response = HTTParty.get(@@baseUrl + endpoint, args).parsed_response
|
78
|
+
return Hashie::Mash.new(JSON.parse('{"success": false}')) if response.kind_of?(String)
|
79
|
+
if response['success'] == false
|
80
|
+
response['error'] = true
|
81
|
+
return Hashie::Mash.new(response)
|
75
82
|
else
|
76
|
-
records ? Hashie::Mash.new(response
|
83
|
+
records ? Hashie::Mash.new(response).data.records : Hashie::Mash.new(response).data
|
77
84
|
end
|
78
85
|
end
|
79
86
|
|
data/lib/redvine/version.rb
CHANGED
data/spec/redvine_spec.rb
CHANGED
@@ -216,6 +216,39 @@ describe Redvine do
|
|
216
216
|
client = setup_client()
|
217
217
|
vines = client.user_timeline('965095451261071400')
|
218
218
|
expect(vines.success).to be_false
|
219
|
+
vines = client.user_timeline('XXX')
|
220
|
+
expect(vines.success).to be_false
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
224
|
+
end
|
225
|
+
|
226
|
+
describe '.single_post' do
|
227
|
+
|
228
|
+
it 'should respond to a single_post method' do
|
229
|
+
expect(Redvine.new).to respond_to(:single_post)
|
230
|
+
end
|
231
|
+
|
232
|
+
it 'should require a post id as an argument' do
|
233
|
+
client = Redvine.new
|
234
|
+
expect { client.single_post() }.to raise_error(ArgumentError)
|
235
|
+
end
|
236
|
+
|
237
|
+
it 'should return a single media result with a valid post id' do
|
238
|
+
VCR.use_cassette('redvine', :record => :new_episodes) do
|
239
|
+
client = setup_client()
|
240
|
+
vine = client.single_post('1015405623653113856')
|
241
|
+
expect(vine.videoUrl).to be_an_instance_of(String)
|
242
|
+
end
|
243
|
+
end
|
244
|
+
|
245
|
+
it 'should not break if no post exists with that id' do
|
246
|
+
VCR.use_cassette('redvine', :record => :new_episodes) do
|
247
|
+
client = setup_client()
|
248
|
+
vine = client.single_post('397923400300')
|
249
|
+
expect(vine.success).to be_false
|
250
|
+
vine2 = client.single_post('XXX')
|
251
|
+
expect(vine2.success).to be_false
|
219
252
|
end
|
220
253
|
end
|
221
254
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redvine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-11-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|