mfkessai-ruby 1.0.0.beta3 → 1.0.0

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: cca1470e116b5a65390bc383b73fdad97589ba83333d0a9556826ac46117dfae
4
- data.tar.gz: 03efa8136a3b0da021311f6a2a64ca72b253dca72f30b83d7e38b8e41c6b9973
3
+ metadata.gz: 5b8db5d505788d354f084d8e0fc1f28dce41ba9724f404e99798287cdc80116f
4
+ data.tar.gz: 83cd99a0a4573c5b9657a2d8fa9b05daa0ab55d5e77a9cb0a760ccf2b5e72b7d
5
5
  SHA512:
6
- metadata.gz: ebcf881cad0c978bfc871ecc2d0b90d2550c3afd59fac10394fe295285551548596cc8da232b2db363fd549cfcbd4b1d5ccd729f045303ac9f970ea73e4e264f
7
- data.tar.gz: ac6e42be69c8bb5455851c5a189967768739122620ae660b4e9e86b6178f7b76d560df9e1ec45e5b7d19ac29b2844d2265b97cf9d7eef7dee643ec0216c84db4
6
+ metadata.gz: 7077a9f411e3a554c4dee787dfe516336ec356202543700d474ad40024c3479b78fc21c3e7d2db556cfce63875e3d0ec12d022c9bccc8cd4a4a68593acf4489d
7
+ data.tar.gz: f7a8e9cd18d12caacf78c0ee5e2767076b1f5ed21381c9b3c17d2b6b9ddf0ac710d9795d3b0fb0a65a517c870eab5f333c9f50c9ef2c5bf934f8d12cf24a9fe7
data/.gitlab-ci.yml ADDED
@@ -0,0 +1,65 @@
1
+ stages:
2
+ - test
3
+
4
+ ruby2.3:rspec:
5
+ image: ruby:2.3-alpine
6
+
7
+ script:
8
+ - setup
9
+ - execute_rspec
10
+
11
+ ruby2.4:rspec:
12
+ image: ruby:2.4-alpine
13
+
14
+ script:
15
+ - setup
16
+ - execute_rspec
17
+
18
+ ruby2.5:rspec:
19
+ image: ruby:2.5-alpine
20
+
21
+ script:
22
+ - setup
23
+ - execute_rspec
24
+
25
+ ruby2.5.1:rspec:
26
+ image: ruby:2.5.1-alpine
27
+
28
+ script:
29
+ - setup
30
+ - execute_rspec
31
+
32
+ allow_failure: true
33
+
34
+ dependency_scanning:
35
+ image: docker:stable
36
+ variables:
37
+ DOCKER_DRIVER: overlay2
38
+ allow_failure: true
39
+ services:
40
+ - docker:stable-dind
41
+ script:
42
+ - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
43
+ - docker run
44
+ --env DEP_SCAN_DISABLE_REMOTE_CHECKS="${DEP_SCAN_DISABLE_REMOTE_CHECKS:-false}"
45
+ --volume "$PWD:/code"
46
+ --volume /var/run/docker.sock:/var/run/docker.sock
47
+ "registry.gitlab.com/gitlab-org/security-products/dependency-scanning:$SP_VERSION" /code
48
+ artifacts:
49
+ paths: [gl-dependency-scanning-report.json]
50
+
51
+ .auto_devops: &auto_devops |
52
+ function execute_rspec() {
53
+ bundle exec rspec
54
+ }
55
+
56
+ function setup() {
57
+ apk --update --upgrade add $BUILD_PACKAGES
58
+ apk add git
59
+ gem install bundler --no-ri --no-rdoc
60
+ bundle check --path=${BUNDLE_CACHE} || bundle install --path=${BUNDLE_CACHE} --jobs=2 --retry=3
61
+ bundle clean
62
+ }
63
+
64
+ before_script:
65
+ - *auto_devops
data/CHANGELOG.md CHANGED
@@ -1 +1,5 @@
1
1
  # Changelog
2
+
3
+ ## 1.0 - 2018-06-18
4
+ * 1 major enhancement:
5
+ * Initial release
data/Gemfile CHANGED
@@ -1,6 +1,4 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
-
5
3
  # Specify your gem's dependencies in mfkessai-ruby.gemspec
6
4
  gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mfkessai-ruby (1.0.0.beta3)
4
+ mfkessai-ruby (1.0.0)
5
5
  faraday (~> 0.10)
6
6
 
7
7
  GEM
@@ -36,4 +36,4 @@ DEPENDENCIES
36
36
  rspec (~> 3.0)
37
37
 
38
38
  BUNDLED WITH
39
- 1.16.1
39
+ 1.16.2
data/README.md CHANGED
@@ -1,24 +1,22 @@
1
- ### **!こちらのgemはまだbeta版です**
2
-
3
- # Mfkessai for Ruby
1
+ # Mfkessai Ruby Library
4
2
  mfkessaiのapiを使用するための便利なアクセスをRubyで提供します
5
3
 
6
4
  こちらのgemは非公式なライブラリです
7
5
 
8
- 対応API
6
+ ### 対応API
9
7
 
10
- - customer
11
- - destination
12
- - examination
13
- - ping
14
- - transaction
8
+ - [customer](#customer)
9
+ - [destination](#destination)
10
+ - [examination](#examination)
11
+ - [ping](#ping)
12
+ - [transaction](#transaction)
15
13
 
16
14
  [詳しいAPIを参照する](https://mfkessai.co.jp/api_doc/endpoint.html)
17
15
 
18
16
  ## Installation
19
17
 
20
18
  ```
21
- $ gem install mfkessai -v 1.0.0.beta3 --pre
19
+ $ gem install mfkessai-ruby
22
20
  ```
23
21
 
24
22
  ## Usage
@@ -52,6 +50,9 @@ Mfkessai.api_key = "mfkessai_test_..."
52
50
 
53
51
  # 顧客リストを取得
54
52
  Mfkessai::Customer.list
53
+
54
+ # ページ番号、1ページあたりの件数を指定する
55
+ Mfkessai::Customer.list(page: 3, per_page: 30)
55
56
  ```
56
57
 
57
58
  - Mfkessai::Customer.retrieve
@@ -99,7 +100,7 @@ Mfkessai::Destination.create(request_body: params)
99
100
  ```
100
101
 
101
102
  ## examination
102
- - Mfkessai::Destination.list
103
+ - Mfkessai::Examination.list
103
104
 
104
105
  ```
105
106
  require "mfkessai"
@@ -107,10 +108,13 @@ Mfkessai.api_url = "https://sandbox"
107
108
  Mfkessai.api_key = "mfkessai_test_..."
108
109
 
109
110
  # 審査リストを取得
110
- Mfkessai::Destination.list
111
+ Mfkessai::Examination.list
112
+
113
+ # ページ番号、1ページあたりの件数を指定する
114
+ Mfkessai::Examination.list(page: 3, per_page: 30)
111
115
  ```
112
116
 
113
- - Mfkessai::Destination.create
117
+ - Mfkessai::Examination.create
114
118
 
115
119
  ```
116
120
  require "mfkessai"
@@ -138,10 +142,10 @@ params = {
138
142
  ]
139
143
  }
140
144
 
141
- Mfkessai::Destination.create(request_body: params)
145
+ Mfkessai::Examination.create(request_body: params)
142
146
  ```
143
147
 
144
- - Mfkessai::Destination.retrieve
148
+ - Mfkessai::Examination.retrieve
145
149
 
146
150
  ```
147
151
  require "mfkessai"
@@ -149,10 +153,10 @@ Mfkessai.api_url = "https://sandbox"
149
153
  Mfkessai.api_key = "mfkessai_test_..."
150
154
 
151
155
  # IDを指定して審査情報を取得
152
- Mfkessai::Destination.retrieve('destination_test_123')
156
+ Mfkessai::Examination.retrieve('destination_test_123')
153
157
  ```
154
158
 
155
- - Mfkessai::Destination.create_transaction
159
+ - Mfkessai::Examination.create_transaction
156
160
 
157
161
  ```
158
162
  require "mfkessai"
@@ -169,7 +173,7 @@ params = {
169
173
  "user_defined_id": "transaction00000001"
170
174
  }
171
175
 
172
- Mfkessai::Destination.create_transaction(id: 'test_123', request_body: params)
176
+ Mfkessai::Examination.create_transaction(id: 'test_123', request_body: params)
173
177
  ```
174
178
 
175
179
  ## ping
@@ -197,6 +201,9 @@ Mfkessai.api_key = "mfkessai_test_..."
197
201
  # 取引リストを取得
198
202
 
199
203
  Mfkessai::Transaction.list
204
+
205
+ # ページ番号、1ページあたりの件数を指定する
206
+ Mfkessai::Transaction.list(page: 3, per_page: 30)
200
207
  ```
201
208
 
202
209
  - Mfkessai::Transaction.create
@@ -278,6 +285,47 @@ Mfkessai.api_key = "mfkessai_test_..."
278
285
  Mfkessai::Transaction.cancel("transation_test_123")
279
286
  ```
280
287
 
288
+ ## Handling errors
289
+
290
+ ```
291
+ begin
292
+ # Use Mfkessai's library to make requests...
293
+ rescue Mfkessai::BadRequestError => e
294
+ puts "Status is: #{e.http_status}"
295
+ puts "Message is: #{e.message}"
296
+ puts "http_body is: #{e.http_body}"
297
+ puts "json_body is: #{e.json_body}"
298
+ rescue Mfkessai::AuthenticationError => e
299
+ puts "Status is: #{e.http_status}"
300
+ puts "Message is: #{e.message}"
301
+ puts "http_body is: #{e.http_body}"
302
+ puts "json_body is: #{e.json_body}"
303
+ rescue Mfkessai::ForbiddenError => e
304
+ puts "Status is: #{e.http_status}"
305
+ puts "Message is: #{e.message}"
306
+ puts "http_body is: #{e.http_body}"
307
+ puts "json_body is: #{e.json_body}"
308
+ rescue Mfkessai::NotFoundError => e
309
+ puts "Status is: #{e.http_status}"
310
+ puts "Message is: #{e.message}"
311
+ puts "http_body is: #{e.http_body}"
312
+ puts "json_body is: #{e.json_body}"
313
+ rescue Mfkessai::APIConnectionError => e
314
+ puts "Status is: #{e.http_status}"
315
+ puts "Message is: #{e.message}"
316
+ puts "http_body is: #{e.http_body}"
317
+ puts "json_body is: #{e.json_body}"
318
+ rescue Mfkessai::ServerError => e
319
+ puts "Status is: #{e.http_status}"
320
+ puts "Message is: #{e.message}"
321
+ puts "http_body is: #{e.http_body}"
322
+ puts "json_body is: #{e.json_body}"
323
+ rescue => e
324
+ # Something else happened, completely unrelated to Mfkessai
325
+ end
326
+
327
+ ```
328
+
281
329
  ## Development
282
330
 
283
331
  Run all tests:
@@ -56,6 +56,13 @@ module Mfkessai
56
56
  resp
57
57
  end
58
58
 
59
+ def list_filter_parameters(page, per_page)
60
+ params = {}
61
+ params[:page] = page if page
62
+ params[:per_page] = per_page if per_page
63
+ '?' + URI.encode_www_form(params)
64
+ end
65
+
59
66
  def request_headers
60
67
  headers = {
61
68
  "User-Agent" => "Mfkessai/v1 RubyBindings/#{Mfkessai::VERSION}",
@@ -124,32 +131,38 @@ module Mfkessai
124
131
  case error_response[:status]
125
132
  when 400
126
133
  data = JSON.parse(error_response[:body], symbolize_names: true)
127
- raise BadRequestError.new(http_status: error_response[:status],
134
+ raise BadRequestError.new(message: data[:detail],
135
+ http_status: error_response[:status],
128
136
  http_body: error_response[:body],
129
137
  json_body: data)
130
138
  when 401
131
139
  data = JSON.parse(error_response[:body], symbolize_names: true)
132
- raise AuthenticationError.new(http_status: error_response[:status],
140
+ raise AuthenticationError.new(message: data[:detail],
141
+ http_status: error_response[:status],
133
142
  http_body: error_response[:body],
134
143
  json_body: data)
135
144
  when 403
136
145
  data = JSON.parse(error_response[:body], symbolize_names: true)
137
- raise ForbiddenError.new(http_status: error_response[:status],
146
+ raise ForbiddenError.new(message: data[:detail],
147
+ http_status: error_response[:status],
138
148
  http_body: error_response[:body],
139
149
  json_body: data)
140
150
  when 404
141
151
  data = JSON.parse(error_response[:body], symbolize_names: true)
142
- raise NotFoundError.new(http_status: error_response[:status],
152
+ raise NotFoundError.new(message: data[:detail],
153
+ http_status: error_response[:status],
143
154
  http_body: error_response[:body],
144
155
  json_body: data)
145
156
  when 500
146
157
  data = JSON.parse(error_response[:body], symbolize_names: true)
147
- raise ServerError.new(http_status: error_response[:status],
158
+ raise ServerError.new(message: data[:detail],
159
+ http_status: error_response[:status],
148
160
  http_body: error_response[:body],
149
161
  json_body: data)
150
162
  when 503
151
163
  data = JSON.parse(error_response[:body], symbolize_names: true)
152
- raise ServerError.new(http_status: error_response[:status],
164
+ raise ServerError.new(message: data[:detail],
165
+ http_status: error_response[:status],
153
166
  http_body: error_response[:body],
154
167
  json_body: data)
155
168
  else
@@ -4,15 +4,15 @@ module Mfkessai
4
4
  extend Mfkessai::Client
5
5
 
6
6
  # ref: https://mfkessai.co.jp/api_doc/endpoint.html#/customer/customer_index
7
- def self.list
8
- request(url: '/v1/customers',
9
- request_type: :get)
7
+ def self.list(page: nil, per_page: nil)
8
+ url = '/v1/customers'
9
+ url += list_filter_parameters(page, per_page) if !page.nil? || !per_page.nil?
10
+ request(url: url, request_type: :get)
10
11
  end
11
12
 
12
13
  # ref: https://mfkessai.co.jp/api_doc/endpoint.html#/customer/customer_show
13
14
  def self.retrieve(id)
14
- request(url: "/v1/customers/#{id}",
15
- request_type: :get)
15
+ request(url: "/v1/customers/#{id}", request_type: :get)
16
16
  end
17
17
  end
18
18
  end
@@ -1,10 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  module Mfkessai
3
3
  class MfkessaiError < StandardError
4
- attr_reader :message
5
- attr_reader :http_status
6
- attr_reader :http_body
7
- attr_reader :json_body
4
+ attr_reader :message, :http_status, :http_body, :json_body
8
5
 
9
6
  def initialize(message: nil, http_status: nil, http_body: nil, json_body: nil)
10
7
  @message = message
@@ -4,9 +4,10 @@ module Mfkessai
4
4
  extend Mfkessai::Client
5
5
 
6
6
  # ref: https://mfkessai.co.jp/api_doc/endpoint.html#/examination/examination_index
7
- def self.list
8
- request(url: '/v1/examinations',
9
- request_type: :get)
7
+ def self.list(page: nil, per_page: nil)
8
+ url = '/v1/examinations'
9
+ url += list_filter_parameters(page, per_page) if !page.nil? || !per_page.nil?
10
+ request(url: url, request_type: :get)
10
11
  end
11
12
 
12
13
  # ref: https://mfkessai.co.jp/api_doc/endpoint.html#/examination/examination_create
@@ -18,8 +19,7 @@ module Mfkessai
18
19
 
19
20
  # ref: https://mfkessai.co.jp/api_doc/endpoint.html#/examination/examination_show
20
21
  def self.retrieve(id)
21
- request(url: "/v1/examinations/#{id}",
22
- request_type: :get)
22
+ request(url: "/v1/examinations/#{id}", request_type: :get)
23
23
  end
24
24
 
25
25
  # ref: https://mfkessai.co.jp/api_doc/endpoint.html#/examination/examination_create_transaction
@@ -4,9 +4,10 @@ module Mfkessai
4
4
  extend Mfkessai::Client
5
5
 
6
6
  # ref: https://mfkessai.co.jp/api_doc/endpoint.html#/transaction/transaction_index
7
- def self.list
8
- request(url: '/v1/transactions',
9
- request_type: :get)
7
+ def self.list(page: nil, per_page: nil)
8
+ url = '/v1/transactions'
9
+ url += list_filter_parameters(page, per_page) if !page.nil? || !per_page.nil?
10
+ request(url: url, request_type: :get)
10
11
  end
11
12
 
12
13
  # ref: https://mfkessai.co.jp/api_doc/endpoint.html#/transaction/transaction_create
@@ -18,14 +19,12 @@ module Mfkessai
18
19
 
19
20
  # ref: https://mfkessai.co.jp/api_doc/endpoint.html#/transaction/transaction_show
20
21
  def self.retrieve(id)
21
- request(url: "/v1/transactions/#{id}",
22
- request_type: :get)
22
+ request(url: "/v1/transactions/#{id}", request_type: :get)
23
23
  end
24
24
 
25
25
  # ref: https://mfkessai.co.jp/api_doc/endpoint.html#/transaction/transaction_cancel
26
26
  def self.cancel(id)
27
- request(url: "/v1/transactions/#{id}/cancel",
28
- request_type: :post)
27
+ request(url: "/v1/transactions/#{id}/cancel", request_type: :post)
29
28
  end
30
29
  end
31
30
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Mfkessai
3
- VERSION = "1.0.0.beta3"
3
+ VERSION = "1.0.0"
4
4
  end
@@ -6,7 +6,7 @@ require "mfkessai/version"
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "mfkessai-ruby"
8
8
  spec.version = Mfkessai::VERSION
9
- spec.authors = ["torufukui", "sora.inc"]
9
+ spec.authors = ["torufukui"]
10
10
  spec.email = ["fukui.development@gmail.com"]
11
11
 
12
12
  spec.summary = 'Ruby bindings for the Mfkessai API'
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mfkessai-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - torufukui
8
- - sora.inc
9
8
  autorequire:
10
9
  bindir: exe
11
10
  cert_chain: []
12
- date: 2018-06-06 00:00:00.000000000 Z
11
+ date: 2018-06-18 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: faraday
@@ -75,8 +74,8 @@ extensions: []
75
74
  extra_rdoc_files: []
76
75
  files:
77
76
  - ".gitignore"
77
+ - ".gitlab-ci.yml"
78
78
  - ".rspec"
79
- - ".travis.yml"
80
79
  - CHANGELOG.md
81
80
  - Gemfile
82
81
  - Gemfile.lock
@@ -110,9 +109,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
110
109
  version: '0'
111
110
  required_rubygems_version: !ruby/object:Gem::Requirement
112
111
  requirements:
113
- - - ">"
112
+ - - ">="
114
113
  - !ruby/object:Gem::Version
115
- version: 1.3.1
114
+ version: '0'
116
115
  requirements: []
117
116
  rubyforge_project:
118
117
  rubygems_version: 2.7.6
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.5.1
5
- before_install: gem install bundler -v 1.16.1