yahoo_store_api 0.2.1 → 0.2.6

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 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