youku_client 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f76877012802d8935a608f187c306eec028155eb
4
- data.tar.gz: 42da00ca401e82d36bead60eabaef77340e5c91a
3
+ metadata.gz: 88241102eb4635e4dd5c689499ffe9059708ee56
4
+ data.tar.gz: c934e26daab56f7e827d18b15f72caf13915b429
5
5
  SHA512:
6
- metadata.gz: 76b6cb74aa40cb19966a356e2c313cb377db4c592c06800475731064662c2c73dd3d163991d673de8344e920bd7eca3b31c3cf54180f24a5cc2d88152776d830
7
- data.tar.gz: dc2a550d00565bcb80e9841db7241d6531315d97ed02ace0a5ea0410f94b644241d94970b22942f27e4e48d1a158e78e8c1c4bdb01a7e8ffb4edc6efd2892161
6
+ metadata.gz: 4c0ba3dc6da07a1a17b3d26ddcfa6b01b571433ac4017584ce5dca2129da268d808b873d78844a75c84de644677ea55901a1c95e26b0f58ad8e02f7219bbcde8
7
+ data.tar.gz: ad4a0f89d148781291e40f387f9cef780ff7e26fd7928a963dbc5aa2be6144e5ff005ea2a48af6e0d3402fb97e94b4f24a281f8191b585b78539b7b695b6151a
data/.travis.yml ADDED
@@ -0,0 +1,13 @@
1
+ script: 'rspec spec'
2
+ notifications:
3
+ email:
4
+ - avokhmin@gmail.com
5
+ - be9@be9.ru
6
+ - dave@recurser.com
7
+ branches:
8
+ only:
9
+ - master
10
+ rvm:
11
+ - 2.0.0
12
+ - 2.1.0
13
+ - 2.2.2
data/CHANGELOG.md ADDED
@@ -0,0 +1,6 @@
1
+ 0.0.2
2
+ ------
3
+ * [Fixed generated urls not matching webmocks for `nil` parameters.](https://github.com/Shuttlerock/youku_client/pull/1) ([@BenjaminSchaaf](https://github.com/BenjaminSchaaf))
4
+ * [Added missing gems and requires](https://github.com/Shuttlerock/youku_client/pull/2) ([@BenjaminSchaaf](https://github.com/BenjaminSchaaf))
5
+ * [Implemented users.show](https://github.com/Shuttlerock/youku_client/pull/3) ([@BenjaminSchaaf](https://github.com/BenjaminSchaaf))
6
+ * [Implemented comments.by_video](https://github.com/Shuttlerock/youku_client/pull/4) ([@BenjaminSchaaf](https://github.com/BenjaminSchaaf))
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Youku Ruby Gem
2
2
 
3
+ [![Build Status](https://secure.travis-ci.org/Shuttlerock/youku_client.png)](http://travis-ci.org/Shuttlerock/youku_client) [![Code Climate](https://codeclimate.com/github/Shuttlerock/youku_client/badges/gpa.svg)](https://codeclimate.com/github/Shuttlerock/youku_client)
4
+
3
5
  This is the unofficial Ruby wrapper for the Youku v2 API. It supports not all
4
6
  endpoints currently available on the
5
7
  [Youku API](http://open.youku.com/docs?id=0).
@@ -33,7 +35,7 @@ please if you would like to contribute, let me know and throw me a pull request!
33
35
 
34
36
  ### Requirements
35
37
 
36
- * Ruby 1.9.x or 2.x.x
38
+ * Ruby 2.x.x
37
39
 
38
40
  ---
39
41
 
data/lib/youku/client.rb CHANGED
@@ -34,6 +34,12 @@ module Youku
34
34
  Youku::V2::Users.new(self)
35
35
  end
36
36
 
37
+ # Public: Get users API.
38
+ #
39
+ # Returns the instance of Youku::V2::Users.
40
+ def comments
41
+ Youku::V2::Comments.new(self)
42
+ end
37
43
  end
38
44
  end
39
45
 
@@ -41,3 +47,4 @@ require 'youku/v2/base'
41
47
  require 'youku/v2/searches'
42
48
  require 'youku/v2/users'
43
49
  require 'youku/v2/videos'
50
+ require 'youku/v2/comments'
@@ -0,0 +1,25 @@
1
+ module Youku
2
+ module V2
3
+ class Comments < Base
4
+ BASE_URI = "#{BASE_URI}/comments"
5
+
6
+ # Public: Get comments by a video ID
7
+ #
8
+ # See: http://open.youku.com/docs?id=35
9
+ #
10
+ # video_id - The string video ID.
11
+ # page - The Integer page number.
12
+ # count - The Integer page size.
13
+ #
14
+ # Returns the instance of Youku::V2::Request.
15
+ def by_video(video_id: nil, page: 1, count: 20)
16
+ Youku::V2::Request.new "#{BASE_URI}/by_video.json", {
17
+ client_id: client.client_id,
18
+ video_id: video_id,
19
+ page: page,
20
+ count: count,
21
+ }
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,4 +1,6 @@
1
+ require 'hashie'
1
2
  require 'typhoeus'
3
+ require 'multi_json'
2
4
 
3
5
  module Youku
4
6
  module V2
@@ -34,7 +34,6 @@ module Youku
34
34
  }
35
35
  end
36
36
  end
37
-
38
37
  end
39
38
  end
40
39
  end
@@ -15,10 +15,25 @@ module Youku
15
15
  Youku::V2::Request.new "#{BASE_URI}/show_batch.json", {
16
16
  client_id: client.client_id,
17
17
  user_ids: user_ids,
18
- user_names: user_names
18
+ user_names: user_names,
19
19
  }
20
20
  end
21
21
 
22
+ # Public: Get user by ID
23
+ #
24
+ # See: http://open.youku.com/docs?id=24
25
+ #
26
+ # user_id - The string of a youku user ID
27
+ # user_name - The string of a youku user name.
28
+ #
29
+ # Returns the instance of Youku::V2::Request.
30
+ def show(user_id: nil, user_name: nil)
31
+ Youku::V2::Request.new "#{BASE_URI}/show.json", {
32
+ client_id: client.client_id,
33
+ user_id: user_id,
34
+ user_name: user_name,
35
+ }
36
+ end
22
37
  end
23
38
  end
24
39
  end
data/lib/youku/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Youku
2
2
 
3
- VERSION = '0.0.1'
3
+ VERSION = '0.0.2'
4
4
 
5
5
  end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ describe Youku::V2::Comments do
4
+
5
+ let(:client) { Youku::Client.new(client_id: 'client-id') }
6
+
7
+ describe '#by_video' do
8
+ let(:url) { 'https://openapi.youku.com/v2/comments/by_video.json' }
9
+ let(:query) { {
10
+ client_id: client.client_id,
11
+ video_id: 123,
12
+ page: 1,
13
+ count: 20
14
+ } }
15
+
16
+ before do
17
+ stub_request(:get, url).with(query: query).to_return(status: 200)
18
+ end
19
+
20
+ subject { client.comments.by_video(video_id: 123) }
21
+
22
+ it_should_behave_like 'a base Youku API V2 requests'
23
+ end
24
+ end
@@ -8,8 +8,8 @@ describe Youku::V2::Users do
8
8
  describe '#show_batch' do
9
9
  let(:url) { 'https://openapi.youku.com/v2/users/show_batch.json' }
10
10
  let(:query) { {
11
- client_id: client.client_id,
12
- user_ids: nil,
11
+ client_id: client.client_id,
12
+ user_ids: '',
13
13
  user_names: 'jackie_chan',
14
14
  } }
15
15
 
@@ -22,4 +22,20 @@ describe Youku::V2::Users do
22
22
  it_should_behave_like 'a base Youku API V2 requests'
23
23
  end
24
24
 
25
+ describe '#show' do
26
+ let(:url) { 'https://openapi.youku.com/v2/users/show.json' }
27
+ let(:query) { {
28
+ client_id: client.client_id,
29
+ user_id: '',
30
+ user_name: 'jackie_chan',
31
+ } }
32
+
33
+ before do
34
+ stub_request(:get, url).with(query: query).to_return(status: 200)
35
+ end
36
+
37
+ subject { users.show(user_name: 'jackie_chan') }
38
+
39
+ it_should_behave_like 'a base Youku API V2 requests'
40
+ end
25
41
  end
@@ -10,7 +10,7 @@ describe Youku::V2::Videos do
10
10
  let(:query) { {
11
11
  client_id: client.client_id,
12
12
  video_ids: 123,
13
- ext: nil,
13
+ ext: '',
14
14
  } }
15
15
 
16
16
  before do
@@ -27,7 +27,7 @@ describe Youku::V2::Videos do
27
27
  let(:query) { {
28
28
  client_id: client.client_id,
29
29
  video_id: 123,
30
- ext: nil,
30
+ ext: '',
31
31
  } }
32
32
 
33
33
  before do
@@ -44,7 +44,7 @@ describe Youku::V2::Videos do
44
44
  let(:query) { {
45
45
  client_id: client.client_id,
46
46
  user_id: 123,
47
- user_name: nil,
47
+ user_name: '',
48
48
  orderby: 'published',
49
49
  page: 1,
50
50
  count: 20
data/youku_client.gemspec CHANGED
@@ -4,6 +4,7 @@ require File.join(File.dirname(__FILE__), 'lib/youku/version')
4
4
  Gem::Specification.new do |gem|
5
5
  gem.add_dependency 'typhoeus'
6
6
  gem.add_dependency 'hashie'
7
+ gem.add_dependency 'multi_json'
7
8
  gem.add_development_dependency 'rake'
8
9
  gem.add_development_dependency 'rspec'
9
10
  gem.add_development_dependency 'webmock'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: youku_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Vokhmin
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-07-20 00:00:00.000000000 Z
13
+ date: 2015-11-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: typhoeus
@@ -40,6 +40,20 @@ dependencies:
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
42
  version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: multi_json
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
43
57
  - !ruby/object:Gem::Dependency
44
58
  name: rake
45
59
  requirement: !ruby/object:Gem::Requirement
@@ -92,12 +106,15 @@ extensions: []
92
106
  extra_rdoc_files: []
93
107
  files:
94
108
  - ".gitignore"
109
+ - ".travis.yml"
110
+ - CHANGELOG.md
95
111
  - Gemfile
96
112
  - LICENSE
97
113
  - README.md
98
114
  - Rakefile
99
115
  - lib/youku/client.rb
100
116
  - lib/youku/v2/base.rb
117
+ - lib/youku/v2/comments.rb
101
118
  - lib/youku/v2/request.rb
102
119
  - lib/youku/v2/searches.rb
103
120
  - lib/youku/v2/users.rb
@@ -107,6 +124,7 @@ files:
107
124
  - spec/spec_helper.rb
108
125
  - spec/support/shared_examples/youku_api_v2_examples.rb
109
126
  - spec/youku/client_spec.rb
127
+ - spec/youku/v2/comments_spec.rb
110
128
  - spec/youku/v2/searches_spec.rb
111
129
  - spec/youku/v2/users_spec.rb
112
130
  - spec/youku/v2/videos_spec.rb
@@ -131,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
149
  version: 1.3.6
132
150
  requirements: []
133
151
  rubyforge_project:
134
- rubygems_version: 2.4.7
152
+ rubygems_version: 2.4.8
135
153
  signing_key:
136
154
  specification_version: 4
137
155
  summary: Youku API wrapper
@@ -139,6 +157,7 @@ test_files:
139
157
  - spec/spec_helper.rb
140
158
  - spec/support/shared_examples/youku_api_v2_examples.rb
141
159
  - spec/youku/client_spec.rb
160
+ - spec/youku/v2/comments_spec.rb
142
161
  - spec/youku/v2/searches_spec.rb
143
162
  - spec/youku/v2/users_spec.rb
144
163
  - spec/youku/v2/videos_spec.rb