base-api-client 0.3.beta → 0.3.1.beta

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 (32) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/base-api-client.gemspec +1 -1
  4. data/lib/base/api_client/client_secret.rb +0 -33
  5. data/lib/base/apis/category.rb +1 -1
  6. data/lib/base/apis/delivery_company.rb +1 -1
  7. data/lib/base/apis/item.rb +28 -0
  8. data/lib/base/apis/item_category.rb +15 -0
  9. data/lib/base/apis/order.rb +1 -1
  10. data/lib/base/apis/saving.rb +1 -1
  11. data/lib/base/apis/user.rb +16 -0
  12. data/spec/base/api_client/client_secret_spec.rb +0 -50
  13. data/spec/base/apis/category_spec.rb +2 -2
  14. data/spec/base/apis/delivery_company_spec.rb +2 -2
  15. data/spec/base/apis/{item_category/detail_spec.rb → item_category.rb} +4 -4
  16. data/spec/base/apis/item_spec.rb +28 -0
  17. data/spec/base/apis/order_spec.rb +2 -2
  18. data/spec/base/apis/saving_spec.rb +2 -2
  19. data/spec/base/apis/search_spec.rb +1 -1
  20. data/spec/base/apis/user_spec.rb +34 -0
  21. data/spec/base/http_spec.rb +1 -1
  22. data/spec/fixtures/vcr_cassettes/{Category_request.yml → category/index.yml} +0 -0
  23. data/spec/fixtures/vcr_cassettes/{DeliveryCompany_request.yml → delivery_company/index.yml} +0 -0
  24. data/spec/fixtures/vcr_cassettes/{HTTP_start.yml → http/start.yml} +0 -0
  25. data/spec/fixtures/vcr_cassettes/{ClientSecret_my_items.yml → item/index.yml} +1 -0
  26. data/spec/fixtures/vcr_cassettes/{Detail_request.yml → item_category/detail.yml} +0 -0
  27. data/spec/fixtures/vcr_cassettes/{Order_request.yml → order/index.yml} +0 -0
  28. data/spec/fixtures/vcr_cassettes/{Saving_request.yml → saving/index.yml} +0 -0
  29. data/spec/fixtures/vcr_cassettes/{Search_request.yml → search/request.yml} +0 -0
  30. data/spec/fixtures/vcr_cassettes/{ClientSecret_my_info.yml → user/me.yml} +0 -0
  31. metadata +29 -23
  32. data/lib/base/apis/item_category/detail.rb +0 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c291beb82b66bd0274abc61725e581292e03ffaa
4
- data.tar.gz: 232358529022766a981ec8bf7b23f888acb36c30
3
+ metadata.gz: 0a4fc6fb49afbfab4e49987ae265b46daffc6128
4
+ data.tar.gz: 74094e85e2fe452c7f26cd15fd91c8fa0a29b576
5
5
  SHA512:
6
- metadata.gz: f8ace3b5cd98da7629db902c7f2c8b9c5eb1f5d4a50a26d1e6ad399186184becce2da980108179f8a22401086eb77749b245c34e8d2587e967105dd9d2bef495
7
- data.tar.gz: dc98c4123ccb5e00330c4c65322a077f740830b2ff15ed0f6dc68f6298b66d4750eb23c9310afa3b4db42a3026ed2d8569886bddd4ffc8e4ce732724403db75e
6
+ metadata.gz: 79e27eb4c05b3e2025556f82fa4a25e1a0fb8dbbddcdffbbb9b5fc7ba0f8b688f9a19238dbcc781682572c1bc091d06ede198a515cfe69a5258796011dafde2e
7
+ data.tar.gz: e2ca618e745659a6b051ee01d0413afa9eaafeae1e1622e37d08d12257c13ebf79adf754b2a3f88638fac5554969fb05cb77535434a959406f1df82e495071a2
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  This library is in Beta, so don't expect too much.
3
3
 
4
4
  ## Demo
5
- [Demo](https://github.com/ysksn/base-api-ruby-client-samples)
5
+ [Demo](https://pacific-thicket-66916.herokuapp.com/oauth2callback)
6
6
 
7
7
  ## Requirements
8
8
  - Ruby 2.2.2 or higher
@@ -128,4 +128,4 @@ This library is licensed under Apache 2.0. Full license text is available in [LI
128
128
  ## References
129
129
  - [BASE](https://thebase.in/)
130
130
  - [BASE API v1 Document](https://github.com/baseinc/api-docs)
131
- - [ysksn/base-api-ruby-client](https://github.com/ysksn/base-api-ruby-client)
131
+ - [Sample(ysksn/base-api-ruby-client-samples)](https://github.com/ysksn/base-api-ruby-client-samples)
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'base-api-client'
3
- spec.version = '0.3.beta'
3
+ spec.version = '0.3.1.beta'
4
4
  spec.author = 'ysksn'
5
5
  spec.email = ['bluewhale1982@gmail.com']
6
6
  spec.summary = 'Client for accessing BASE APIs'
@@ -52,39 +52,6 @@ module Base
52
52
  { 'Authorization' => "Bearer #{@access_token}" }
53
53
  end
54
54
 
55
- def my_info
56
- uri = URI.join(Apis::API_HOST.to_s, "#{Apis::API_VERSION}/users/me")
57
- request = Net::HTTP::Get.new(uri, header_parameter)
58
-
59
- Net::HTTP.start(
60
- uri.hostname,
61
- uri.port,
62
- use_ssl: uri.scheme == 'https') { |http| http.request(request) }
63
- end
64
-
65
- def my_items
66
- # https://github.com/baseinc/api-docs/blob/master/base_api_v1_items.md
67
- #
68
- # { order: 'list_order or created',
69
- # sort: 'asc or desc',
70
- # limit: 1..100,
71
- # offset: 0 }
72
- request_parameters = block_given? ? yield : {}
73
-
74
- uri =
75
- URI(
76
- [Apis::API_HOST,
77
- "/#{Apis::API_VERSION}/items/?",
78
- URI.encode_www_form(request_parameters)].join)
79
-
80
- request = Net::HTTP::Get.new(uri, header_parameter)
81
-
82
- Net::HTTP.start(
83
- uri.hostname,
84
- uri.port,
85
- use_ssl: uri.scheme == 'https') { |http| http.request(request) }
86
- end
87
-
88
55
  def generate_code_uri
89
56
  [AUTH_URI, generate_authorize_parameters].join
90
57
  end
@@ -5,7 +5,7 @@ module Base
5
5
  include Apis
6
6
  attr_reader :client_secret
7
7
 
8
- def request
8
+ def index
9
9
  uri = generate_uri('categories?')
10
10
  request = generate_request(uri, client_secret.header_parameter)
11
11
  start(request, uri)
@@ -5,7 +5,7 @@ module Base
5
5
  include Apis
6
6
  attr_reader :client_secret
7
7
 
8
- def request
8
+ def index
9
9
  uri = generate_uri('delivery_companies?')
10
10
  request = generate_request(uri, client_secret.header_parameter)
11
11
  start(request, uri)
@@ -0,0 +1,28 @@
1
+ module Base
2
+ module Apis
3
+ class Item
4
+ include HTTP
5
+ include Apis
6
+ attr_reader :client_secret
7
+
8
+ def index
9
+ # https://github.com/baseinc/api-docs/blob/master/base_api_v1_items.md
10
+ #
11
+ # { order: 'list_order or created',
12
+ # sort: 'asc or desc',
13
+ # limit: 1..100,
14
+ # offset: 0 }
15
+ request_parameters = block_given? ? yield : {}
16
+
17
+ uri =
18
+ URI(
19
+ [Apis::API_HOST,
20
+ "/#{Apis::API_VERSION}/items/?",
21
+ URI.encode_www_form(request_parameters)].join)
22
+
23
+ request = generate_request(uri, client_secret.header_parameter)
24
+ start(request, uri)
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,15 @@
1
+ module Base
2
+ module Apis
3
+ class ItemCategory
4
+ include HTTP
5
+ include Apis
6
+ attr_reader :client_secret
7
+
8
+ def detail(item_id)
9
+ uri = generate_uri("item_categories/detail/#{item_id}")
10
+ request = generate_request(uri, client_secret.header_parameter)
11
+ start(request, uri)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -5,7 +5,7 @@ module Base
5
5
  include Apis
6
6
  attr_reader :client_secret
7
7
 
8
- def request
8
+ def index
9
9
  # https://github.com/baseinc/api-docs/blob/master/base_api_v1_orders.md
10
10
  #
11
11
  # { start_ordered: '2016-01-01',
@@ -5,7 +5,7 @@ module Base
5
5
  include Apis
6
6
  attr_reader :client_secret
7
7
 
8
- def request
8
+ def index
9
9
  # https://github.com/baseinc/api-docs/blob/master/base_api_v1_savings.md
10
10
  #
11
11
  # { start_created: '2016-01-01',
@@ -0,0 +1,16 @@
1
+ module Base
2
+ module Apis
3
+ class User
4
+ include HTTP
5
+ include Apis
6
+ attr_reader :client_secret
7
+
8
+ def me
9
+ uri = generate_uri('/users/me')
10
+ request = generate_request(uri, client_secret.header_parameter)
11
+ start(request, uri)
12
+ end
13
+ end
14
+ end
15
+ end
16
+
@@ -328,54 +328,4 @@ EOS
328
328
  end
329
329
  end
330
330
  end
331
-
332
- describe '#my_info' do
333
- let(:response) do
334
- VCR.use_cassette('ClientSecret_my_info') { subject.my_info }
335
- end
336
-
337
- it 'contains code "200"' do
338
- expect(response.code).to eq '200'
339
- end
340
-
341
- it '@body contains information of the user' do
342
- expect(response.body).to match(/user/)
343
- expect(response.body).to match(/shop_id/)
344
- expect(response.body).to match(/shop_name/)
345
- expect(response.body).to match(/shop_introduction/)
346
- expect(response.body).to match(/shop_url/)
347
- expect(response.body).to match(/twitter_id/)
348
- expect(response.body).to match(/facebook_id/)
349
- expect(response.body).to match(/ameba_id/)
350
- expect(response.body).to match(/instagram_id/)
351
- expect(response.body).to match(/background/)
352
- expect(response.body).to match(/display_background/)
353
- expect(response.body).to match(/repeat_background/)
354
- expect(response.body).to match(/logo/)
355
- expect(response.body).to match(/display_logo/)
356
- expect(response.body).to match(/mail_address/)
357
- end
358
- end
359
-
360
- describe '#my_items' do
361
- let(:response) do
362
- VCR.use_cassette('ClientSecret_my_items') { subject.my_items }
363
- end
364
-
365
- it 'contains code "200"' do
366
- expect(response.code).to eq '200'
367
- end
368
-
369
- it '@body contains information of the items' do
370
- expect(response.body).to match(/items/)
371
- expect(response.body).to match(/item_id/)
372
- expect(response.body).to match(/title/)
373
- expect(response.body).to match(/detail/)
374
- expect(response.body).to match(/price/)
375
- expect(response.body).to match(/stock/)
376
- expect(response.body).to match(/visible/)
377
- expect(response.body).to match(/list_order/)
378
- expect(response.body).to match(/identifier/)
379
- end
380
- end
381
331
  end
@@ -8,8 +8,8 @@ RSpec.describe Base::Apis::Category do
8
8
  include_examples 'Base::Apis::Something.new'
9
9
  end
10
10
 
11
- describe '#request' do
12
- let(:response) { VCR.use_cassette('Category_request') { subject.request } }
11
+ describe '#index' do
12
+ let(:response) { VCR.use_cassette('category/index') { subject.index } }
13
13
 
14
14
  it 'contains code "200"' do
15
15
  expect(response.code).to eq '200'
@@ -8,9 +8,9 @@ RSpec.describe Base::Apis::DeliveryCompany do
8
8
  include_examples 'Base::Apis::Something.new'
9
9
  end
10
10
 
11
- describe '#request' do
11
+ describe '#index' do
12
12
  let(:response) do
13
- VCR.use_cassette('DeliveryCompany_request') { subject.request }
13
+ VCR.use_cassette('delivery_company/index') { subject.index }
14
14
  end
15
15
 
16
16
  it 'contains code "200"' do
@@ -1,16 +1,16 @@
1
1
  require 'spec_helper'
2
2
 
3
- RSpec.describe Base::Apis::ItemCategory::Detail do
3
+ RSpec.describe Base::Apis::ItemCategory do
4
4
  let(:client_secret) { Base::APIClient::ClientSecret.new }
5
- subject { Base::Apis::ItemCategory::Detail.new client_secret }
5
+ subject { Base::Apis::ItemCategory.new client_secret }
6
6
 
7
7
  describe '::new' do
8
8
  include_examples('Base::Apis::Something.new')
9
9
  end
10
10
 
11
- describe '#request' do
11
+ describe '#detail' do
12
12
  let(:response) do
13
- VCR.use_cassette('Detail_request') { subject.request(2453256) }
13
+ VCR.use_cassette('item_category/detail') { subject.detail(2453256) }
14
14
  end
15
15
 
16
16
  it 'contains code "200"' do
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Base::Apis::Item do
4
+ let(:client_secret) { Base::APIClient::ClientSecret.new }
5
+ subject { Base::Apis::Item.new client_secret }
6
+
7
+ describe '#my_items' do
8
+ let(:response) do
9
+ VCR.use_cassette('item/index') { subject.index }
10
+ end
11
+
12
+ it 'contains code "200"' do
13
+ expect(response.code).to eq '200'
14
+ end
15
+
16
+ it '@body contains information of the items' do
17
+ expect(response.body).to match(/items/)
18
+ expect(response.body).to match(/item_id/)
19
+ expect(response.body).to match(/title/)
20
+ expect(response.body).to match(/detail/)
21
+ expect(response.body).to match(/price/)
22
+ expect(response.body).to match(/stock/)
23
+ expect(response.body).to match(/visible/)
24
+ expect(response.body).to match(/list_order/)
25
+ expect(response.body).to match(/identifier/)
26
+ end
27
+ end
28
+ end
@@ -8,8 +8,8 @@ RSpec.describe Base::Apis::Order do
8
8
  include_examples 'Base::Apis::Something.new'
9
9
  end
10
10
 
11
- describe '#request' do
12
- let(:response) { VCR.use_cassette('Order_request') { subject.request } }
11
+ describe '#index' do
12
+ let(:response) { VCR.use_cassette('order/index') { subject.index } }
13
13
 
14
14
  it 'contains code "200"' do
15
15
  expect(response.code).to eq '200'
@@ -8,8 +8,8 @@ RSpec.describe Base::Apis::Saving do
8
8
  include_examples 'Base::Apis::Something.new'
9
9
  end
10
10
 
11
- describe '#request' do
12
- let(:response) { VCR.use_cassette('Saving_request') { subject.request } }
11
+ describe '#index' do
12
+ let(:response) { VCR.use_cassette('saving/index') { subject.index } }
13
13
 
14
14
  it 'contains code "200"' do
15
15
  expect(response.code).to eq '200'
@@ -16,7 +16,7 @@ RSpec.describe Base::Apis::Search do
16
16
 
17
17
  describe '#request' do
18
18
  let(:response) do
19
- VCR.use_cassette('Search_request') { subject.request(query) }
19
+ VCR.use_cassette('search/request') { subject.request(query) }
20
20
  end
21
21
 
22
22
  it 'contains code "200"' do
@@ -0,0 +1,34 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Base::Apis::User do
4
+ let(:client_secret) { Base::APIClient::ClientSecret.new }
5
+ subject { Base::Apis::User.new client_secret }
6
+
7
+ describe '#my_info' do
8
+ let(:response) do
9
+ VCR.use_cassette('user/me') { subject.me }
10
+ end
11
+
12
+ it 'contains code "200"' do
13
+ expect(response.code).to eq '200'
14
+ end
15
+
16
+ it '@body contains information of the user' do
17
+ expect(response.body).to match(/user/)
18
+ expect(response.body).to match(/shop_id/)
19
+ expect(response.body).to match(/shop_name/)
20
+ expect(response.body).to match(/shop_introduction/)
21
+ expect(response.body).to match(/shop_url/)
22
+ expect(response.body).to match(/twitter_id/)
23
+ expect(response.body).to match(/facebook_id/)
24
+ expect(response.body).to match(/ameba_id/)
25
+ expect(response.body).to match(/instagram_id/)
26
+ expect(response.body).to match(/background/)
27
+ expect(response.body).to match(/display_background/)
28
+ expect(response.body).to match(/repeat_background/)
29
+ expect(response.body).to match(/logo/)
30
+ expect(response.body).to match(/display_logo/)
31
+ expect(response.body).to match(/mail_address/)
32
+ end
33
+ end
34
+ end
@@ -48,7 +48,7 @@ RSpec.describe Base::HTTP do
48
48
 
49
49
  describe '#start' do
50
50
  let(:request) { generate_request(uri, header_parameter) }
51
- let(:response) { VCR.use_cassette('HTTP_start') { start(request, uri) } }
51
+ let(:response) { VCR.use_cassette('http/start') { start(request, uri) } }
52
52
 
53
53
  it 'response @code is "200"' do
54
54
  expect(response.code).to eq '200'
@@ -41,3 +41,4 @@ http_interactions:
41
41
  http_version:
42
42
  recorded_at: Sun, 07 Feb 2016 14:36:16 GMT
43
43
  recorded_with: VCR 3.0.1
44
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: base-api-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.beta
4
+ version: 0.3.1.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - ysksn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-27 00:00:00.000000000 Z
11
+ date: 2016-02-28 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -30,31 +30,35 @@ files:
30
30
  - lib/base/apis.rb
31
31
  - lib/base/apis/category.rb
32
32
  - lib/base/apis/delivery_company.rb
33
- - lib/base/apis/item_category/detail.rb
33
+ - lib/base/apis/item.rb
34
+ - lib/base/apis/item_category.rb
34
35
  - lib/base/apis/order.rb
35
36
  - lib/base/apis/saving.rb
36
37
  - lib/base/apis/search.rb
38
+ - lib/base/apis/user.rb
37
39
  - lib/base/http.rb
38
40
  - lib/base/normalization.rb
39
41
  - spec/base/api_client/client_secret_spec.rb
40
42
  - spec/base/apis/category_spec.rb
41
43
  - spec/base/apis/delivery_company_spec.rb
42
- - spec/base/apis/item_category/detail_spec.rb
44
+ - spec/base/apis/item_category.rb
45
+ - spec/base/apis/item_spec.rb
43
46
  - spec/base/apis/order_spec.rb
44
47
  - spec/base/apis/saving_spec.rb
45
48
  - spec/base/apis/search_spec.rb
49
+ - spec/base/apis/user_spec.rb
46
50
  - spec/base/http_spec.rb
47
51
  - spec/base/normalization_spec.rb
48
52
  - spec/fixtures/files/client_secret.json
49
- - spec/fixtures/vcr_cassettes/Category_request.yml
50
- - spec/fixtures/vcr_cassettes/ClientSecret_my_info.yml
51
- - spec/fixtures/vcr_cassettes/ClientSecret_my_items.yml
52
- - spec/fixtures/vcr_cassettes/DeliveryCompany_request.yml
53
- - spec/fixtures/vcr_cassettes/Detail_request.yml
54
- - spec/fixtures/vcr_cassettes/HTTP_start.yml
55
- - spec/fixtures/vcr_cassettes/Order_request.yml
56
- - spec/fixtures/vcr_cassettes/Saving_request.yml
57
- - spec/fixtures/vcr_cassettes/Search_request.yml
53
+ - spec/fixtures/vcr_cassettes/category/index.yml
54
+ - spec/fixtures/vcr_cassettes/delivery_company/index.yml
55
+ - spec/fixtures/vcr_cassettes/http/start.yml
56
+ - spec/fixtures/vcr_cassettes/item/index.yml
57
+ - spec/fixtures/vcr_cassettes/item_category/detail.yml
58
+ - spec/fixtures/vcr_cassettes/order/index.yml
59
+ - spec/fixtures/vcr_cassettes/saving/index.yml
60
+ - spec/fixtures/vcr_cassettes/search/request.yml
61
+ - spec/fixtures/vcr_cassettes/user/me.yml
58
62
  - spec/spec_helper.rb
59
63
  - spec/support/shared_examples_spec.rb
60
64
  homepage: https://github.com/ysksn/base-api-ruby-client
@@ -85,22 +89,24 @@ test_files:
85
89
  - spec/base/api_client/client_secret_spec.rb
86
90
  - spec/base/apis/category_spec.rb
87
91
  - spec/base/apis/delivery_company_spec.rb
88
- - spec/base/apis/item_category/detail_spec.rb
92
+ - spec/base/apis/item_category.rb
93
+ - spec/base/apis/item_spec.rb
89
94
  - spec/base/apis/order_spec.rb
90
95
  - spec/base/apis/saving_spec.rb
91
96
  - spec/base/apis/search_spec.rb
97
+ - spec/base/apis/user_spec.rb
92
98
  - spec/base/http_spec.rb
93
99
  - spec/base/normalization_spec.rb
94
100
  - spec/fixtures/files/client_secret.json
95
- - spec/fixtures/vcr_cassettes/Category_request.yml
96
- - spec/fixtures/vcr_cassettes/ClientSecret_my_info.yml
97
- - spec/fixtures/vcr_cassettes/ClientSecret_my_items.yml
98
- - spec/fixtures/vcr_cassettes/DeliveryCompany_request.yml
99
- - spec/fixtures/vcr_cassettes/Detail_request.yml
100
- - spec/fixtures/vcr_cassettes/HTTP_start.yml
101
- - spec/fixtures/vcr_cassettes/Order_request.yml
102
- - spec/fixtures/vcr_cassettes/Saving_request.yml
103
- - spec/fixtures/vcr_cassettes/Search_request.yml
101
+ - spec/fixtures/vcr_cassettes/category/index.yml
102
+ - spec/fixtures/vcr_cassettes/delivery_company/index.yml
103
+ - spec/fixtures/vcr_cassettes/http/start.yml
104
+ - spec/fixtures/vcr_cassettes/item/index.yml
105
+ - spec/fixtures/vcr_cassettes/item_category/detail.yml
106
+ - spec/fixtures/vcr_cassettes/order/index.yml
107
+ - spec/fixtures/vcr_cassettes/saving/index.yml
108
+ - spec/fixtures/vcr_cassettes/search/request.yml
109
+ - spec/fixtures/vcr_cassettes/user/me.yml
104
110
  - spec/spec_helper.rb
105
111
  - spec/support/shared_examples_spec.rb
106
112
  has_rdoc:
@@ -1,17 +0,0 @@
1
- module Base
2
- module Apis
3
- module ItemCategory
4
- class Detail
5
- include HTTP
6
- include Apis
7
- attr_reader :client_secret
8
-
9
- def request(item_id)
10
- uri = generate_uri("item_categories/detail/#{item_id}")
11
- request = generate_request(uri, client_secret.header_parameter)
12
- start(request, uri)
13
- end
14
- end
15
- end
16
- end
17
- end