yahoo_store_api 0.2.1 → 0.2.6

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
  SHA256:
3
- metadata.gz: b4f9d63dbb6b0abef96a88ac45a98cac48a80bb3ab7851e6228e02a7be76b040
4
- data.tar.gz: 2ff5255dc7a35d7782d4354f255adb2455dde492c82e0df3349be3a5f74caf27
3
+ metadata.gz: 7fa488df1fd962d30ed6ff5876af8f0be58f3be7155fe23df86ba0b9c7d910fe
4
+ data.tar.gz: fd2c8defe9a71a809b6bacbb6cd0a517897ba6681e00828bd1f721a75ca5aa48
5
5
  SHA512:
6
- metadata.gz: b91652ab266410d9ee3ce83c2d1b508c641c63483a5533a78dbeed22511fb5eb73515203e2f28172ce2ef44d99d006256f216f6f917b18489b20ece60c92295b
7
- data.tar.gz: 7bd4f44e9dd8ce86415329435fe9a990cf6a8c400e70ec14b632dc26856a4fdc0f5285e883a86a3199d2f6a8d225f466d6432f1f567ae98417c696fef18c186e
6
+ metadata.gz: 1fea9cdc46fe5b06c4cf129bc32e658b5a9dc57062ed7962e8d60600aeff4912d8e1b9ed76f32db0776af5ff0b51924e0bce49eb4dee5095ee82ed8e5fbf04f4
7
+ data.tar.gz: f077634770b61d3ce3a4b61035c63059e10143d1a1a87d2fc436411e705a4ac56cd7aea5b869d635f2ab66a97790833e6a2d7979d46bf6922debb63de09239f5
@@ -0,0 +1,41 @@
1
+ name: Ruby
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-latest
8
+ strategy:
9
+ matrix:
10
+ ruby: [2.5, 2.6, 2.7, 3.0]
11
+ name: Ruby ${{ matrix.ruby }}
12
+
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ - uses: actions/cache@v2
16
+ with:
17
+ path: vendor/bundle
18
+ key: bundle-${{ hashFiles('**/Gemfile.lock') }}
19
+
20
+ - name: Set up Ruby
21
+ uses: actions/setup-ruby@v1
22
+ with:
23
+ ruby-version: ${{ matrix.ruby }}
24
+ bundler-cache: true
25
+
26
+ - name: Install bundler
27
+ run: gem install bundler
28
+
29
+ - name: Bundle install
30
+ run: bundle install --jobs 4 --retry 3
31
+ env:
32
+ RAILS_ENV: test
33
+
34
+ - name: Run test
35
+ run: rake test
36
+ env:
37
+ RAILS_ENV: test
38
+ YOUR_SELLER_ID: YOUR_SELLER_ID
39
+ YOUR_APPLICATION_ID: YOUR_APPLICATION_ID
40
+ YOUR_APPLICATION_SECRET: YOUR_APPLICATION_SECRET
41
+ YOUR_REFRESH_TOKEN: YOUR_REFRESH_TOKEN
data/.gitignore CHANGED
@@ -10,4 +10,7 @@
10
10
 
11
11
  .env
12
12
  .rbenv-gemsets
13
- sample.rb
13
+ .DS_Store
14
+ *.csv
15
+ sample.rb
16
+ .idea
@@ -0,0 +1,8 @@
1
+ {
2
+ "workbench.colorCustomizations": {
3
+ "titleBar.activeBackground": "#FA0133",
4
+ "titleBar.activeForeground": "#000000",
5
+ "activityBar.background": "#FA0133",
6
+ "activityBar.foreground": "#000000"
7
+ }
8
+ }
data/README.md CHANGED
@@ -1,13 +1,20 @@
1
1
  # YahooStoreApi
2
2
 
3
+ **⚠️Deprecated⚠️**
4
+
5
+ YahooのAPI認証がv1からv2に移行しており、自分自身EC関連の業務から離れているため、メンテナンスができません。
6
+
7
+ > 2021年8月3日をもちましてYahoo! ID連携 v1の新規の登録を終了いたしました。
8
+ > 2022年4月27日にYahoo! ID連携 v1の利用を終了いたしますのでv2への移行が必要です。
9
+
10
+ ---
11
+
3
12
  [![Gem Version](https://badge.fury.io/rb/yahoo_store_api.svg)](https://badge.fury.io/rb/yahoo_store_api)
4
- [![Build Status](https://travis-ci.org/t4traw/yahoo_store_api.svg?branch=master)](https://travis-ci.org/t4traw/yahoo_store_api)
13
+ [![Ruby](https://github.com/t4traw/yahoo_store_api/actions/workflows/main.yml/badge.svg)](https://github.com/t4traw/yahoo_store_api/actions/workflows/main.yml)
5
14
  [![Code Climate](https://codeclimate.com/github/t4traw/yahoo_store_api/badges/gpa.svg)](https://codeclimate.com/github/t4traw/yahoo_store_api)
6
15
 
7
16
  Yahoo!ショッピング プロフェッショナル出店ストア向けAPIを簡単に叩けるrubyラッパーです。
8
17
 
9
- 現在開発中です🐛 まだ商品情報のCRUDと在庫情報の取得・更新、反映予約しかできません。順次機能追加をしていきたいと思います。
10
-
11
18
  ## できること
12
19
 
13
20
  * 商品に関連するAPI
@@ -4,9 +4,7 @@ module YahooStoreApi
4
4
 
5
5
  def connection(method, with_seller_id: false)
6
6
  url = ENDPOINT + method
7
- if with_seller_id
8
- url += "?seller_id=#{@seller_id}" if with_seller_id
9
- end
7
+ url += "?seller_id=#{@seller_id}" if with_seller_id
10
8
 
11
9
  Faraday.new(url: url) do |c|
12
10
  c.request :multipart
@@ -1,3 +1,3 @@
1
1
  module YahooStoreApi
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.6"
3
3
  end
@@ -27,40 +27,35 @@ module YahooStoreApi
27
27
  @application_id = application_id
28
28
  @application_secret = application_secret
29
29
  @redirect_uri = redirect_uri ? "&redirect_uri=" + CGI.escape(redirect_uri) : nil
30
- @access_token = reflesh_access_token(refresh_token) || get_access_token(authorization_code)
30
+ @access_token = refresh_token.present? ? refresh_access_token(refresh_token) : get_access_token(authorization_code)
31
31
  end
32
32
 
33
33
  private
34
34
 
35
- ACCESS_TOKEN_ENDPOINT = "https://auth.login.yahoo.co.jp/yconnect/v1/token".freeze
35
+ ACCESS_TOKEN_ENDPOINT = "https://auth.login.yahoo.co.jp/yconnect/v2/token".freeze
36
36
 
37
37
  def access_token_connection
38
38
  Faraday.new(url: ACCESS_TOKEN_ENDPOINT) do |c|
39
39
  c.adapter Faraday.default_adapter
40
- c.authorization :Basic, Base64.strict_encode64("#{@application_id}:#{@application_secret}")
40
+ c.request :authorization, :Basic, Base64.strict_encode64("#{@application_id}:#{@application_secret}")
41
41
  c.headers["Content-Type"] = "application/x-www-form-urlencoded;charset=UTF-8"
42
42
  end
43
43
  end
44
44
 
45
45
  def get_access_token(authorization_code)
46
46
  param = "grant_type=authorization_code&code=#{authorization_code}#{@redirect_uri}"
47
- obj = access_token_connection.post { |r| r.body = param }
48
- result = hash_converter(obj)
49
- @refresh_token = result[:refresh_token]
50
- result[:access_token]
47
+ response = access_token_connection.post { |r| r.body = param }
48
+ result = JSON.parse(response.body)
49
+ @refresh_token = result["refresh_token"]
50
+ result["access_token"]
51
51
  end
52
52
 
53
- def reflesh_access_token(refresh_token)
53
+ def refresh_access_token(refresh_token)
54
54
  param = "grant_type=refresh_token&refresh_token=#{refresh_token}"
55
- obj = access_token_connection.post { |r| r.body = param }
56
- result = hash_converter(obj)
55
+ response = access_token_connection.post { |r| r.body = param }
56
+ result = JSON.parse(response.body)
57
57
  @refresh_token = refresh_token
58
- result[:access_token]
59
- end
60
-
61
- def hash_converter(str)
62
- ary = str.body.delete('"{}').split(/[:,]/)
63
- ary.each_slice(2).map { |k, v| [k.to_sym, v] }.to_h
58
+ result["access_token"]
64
59
  end
65
60
  end
66
61
  end
@@ -21,15 +21,15 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_dependency "faraday", ">= 0.12.1"
25
- spec.add_dependency "activesupport", ">= 4.2.8"
26
- spec.add_dependency "activemodel", ">= 4.2.8"
24
+ spec.add_dependency "faraday", "~> 1.8.0"
25
+ spec.add_dependency "activesupport", ">= 4.2.8", "< 7.0"
26
+ spec.add_dependency "activemodel", ">= 4.2.8", "< 7.0"
27
27
  spec.add_dependency "builder"
28
28
 
29
29
  spec.add_development_dependency "bundler"
30
30
  spec.add_development_dependency "rake", ">= 12.3.3"
31
- spec.add_development_dependency "pry", "~> 0.10.4"
32
- spec.add_development_dependency "minitest", "~> 5.0"
31
+ spec.add_development_dependency "pry", "~> 0.14"
32
+ spec.add_development_dependency "minitest", "~> 5.12"
33
33
  spec.add_development_dependency "minitest-reporters"
34
34
  spec.add_development_dependency "webmock"
35
35
  spec.add_development_dependency "vcr"
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yahoo_store_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - t4traw
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-09-22 00:00:00.000000000 Z
11
+ date: 2022-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.12.1
19
+ version: 1.8.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.12.1
26
+ version: 1.8.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -31,6 +31,9 @@ dependencies:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 4.2.8
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '7.0'
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -38,6 +41,9 @@ dependencies:
38
41
  - - ">="
39
42
  - !ruby/object:Gem::Version
40
43
  version: 4.2.8
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '7.0'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: activemodel
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -45,6 +51,9 @@ dependencies:
45
51
  - - ">="
46
52
  - !ruby/object:Gem::Version
47
53
  version: 4.2.8
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: '7.0'
48
57
  type: :runtime
49
58
  prerelease: false
50
59
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,6 +61,9 @@ dependencies:
52
61
  - - ">="
53
62
  - !ruby/object:Gem::Version
54
63
  version: 4.2.8
64
+ - - "<"
65
+ - !ruby/object:Gem::Version
66
+ version: '7.0'
55
67
  - !ruby/object:Gem::Dependency
56
68
  name: builder
57
69
  requirement: !ruby/object:Gem::Requirement
@@ -100,28 +112,28 @@ dependencies:
100
112
  requirements:
101
113
  - - "~>"
102
114
  - !ruby/object:Gem::Version
103
- version: 0.10.4
115
+ version: '0.14'
104
116
  type: :development
105
117
  prerelease: false
106
118
  version_requirements: !ruby/object:Gem::Requirement
107
119
  requirements:
108
120
  - - "~>"
109
121
  - !ruby/object:Gem::Version
110
- version: 0.10.4
122
+ version: '0.14'
111
123
  - !ruby/object:Gem::Dependency
112
124
  name: minitest
113
125
  requirement: !ruby/object:Gem::Requirement
114
126
  requirements:
115
127
  - - "~>"
116
128
  - !ruby/object:Gem::Version
117
- version: '5.0'
129
+ version: '5.12'
118
130
  type: :development
119
131
  prerelease: false
120
132
  version_requirements: !ruby/object:Gem::Requirement
121
133
  requirements:
122
134
  - - "~>"
123
135
  - !ruby/object:Gem::Version
124
- version: '5.0'
136
+ version: '5.12'
125
137
  - !ruby/object:Gem::Dependency
126
138
  name: minitest-reporters
127
139
  requirement: !ruby/object:Gem::Requirement
@@ -186,8 +198,9 @@ extensions: []
186
198
  extra_rdoc_files: []
187
199
  files:
188
200
  - ".env.sample"
201
+ - ".github/workflows/main.yml"
189
202
  - ".gitignore"
190
- - ".travis.yml"
203
+ - ".vscode/settings.json"
191
204
  - Gemfile
192
205
  - LICENSE
193
206
  - README.md
@@ -211,7 +224,7 @@ files:
211
224
  homepage: https://github.com/t4traw/yahoo_store_api
212
225
  licenses: []
213
226
  metadata: {}
214
- post_install_message:
227
+ post_install_message:
215
228
  rdoc_options: []
216
229
  require_paths:
217
230
  - lib
@@ -226,8 +239,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
239
  - !ruby/object:Gem::Version
227
240
  version: '0'
228
241
  requirements: []
229
- rubygems_version: 3.1.6
230
- signing_key:
242
+ rubygems_version: 3.2.32
243
+ signing_key:
231
244
  specification_version: 4
232
245
  summary: Yahoo!ショッピング プロフェッショナル出店ストア向けAPIを簡単に叩けるrubyラッパー
233
246
  test_files: []
data/.travis.yml DELETED
@@ -1,13 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.7.2
5
- - 2.6.6
6
- - 2.5.8
7
- - ruby-head
8
-
9
- matrix:
10
- allow_failures:
11
- - rvm: ruby-head
12
-
13
- before_install: gem install bundler -v 2.2.11