quickpay-ruby-client 2.0.0 → 2.0.1
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 +5 -5
- data/.gitignore +1 -0
- data/.rubocop.yml +92 -0
- data/.travis.yml +5 -6
- data/Gemfile +1 -1
- data/README.md +3 -3
- data/Rakefile +22 -0
- data/lib/quickpay/api/client.rb +7 -9
- data/lib/quickpay/api/error.rb +9 -6
- data/lib/quickpay/api/version.rb +1 -1
- data/quickpay-ruby-client.gemspec +4 -2
- metadata +49 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 88c5713183ab2d918e027ee43d4348f87a915d0cf94b66e0cc01b66ec42fee32
|
4
|
+
data.tar.gz: e0cec45e297bbd6c4aca2d24f1acc8f89bd350389f15600f581e3401182593bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27af2e172760121849dadc7294fa499db71727d6af201a86790515e762d7250ecd24524aa802dd3d4c66e12de89d56d47c190f5ae4e820b3a22fb3bd69421b26
|
7
|
+
data.tar.gz: c198b34b01e5cf05bb558dc54518d67704ae6addb211e6feb6cf1bb9e9636ba190598058d4dea4f39c9af469efc253d711cadf0574a17f0c403f94e3a2c205df
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
###########################
|
2
|
+
# Configuration for rubocop
|
3
|
+
# in .rubocop.yml
|
4
|
+
# Most of these are disabling existing cops, primarily
|
5
|
+
# due to a smattering of different styles and loose
|
6
|
+
# guidlines for contributions.
|
7
|
+
#
|
8
|
+
# Any of these may be changed.
|
9
|
+
AllCops:
|
10
|
+
TargetRubyVersion: 2.5
|
11
|
+
|
12
|
+
Style/StringLiterals:
|
13
|
+
EnforcedStyle: double_quotes
|
14
|
+
|
15
|
+
Style/StringLiteralsInInterpolation:
|
16
|
+
EnforcedStyle: double_quotes
|
17
|
+
|
18
|
+
Style/Alias:
|
19
|
+
EnforcedStyle: prefer_alias_method
|
20
|
+
|
21
|
+
Style/DoubleNegation:
|
22
|
+
Enabled: false
|
23
|
+
|
24
|
+
Style/NumericLiterals:
|
25
|
+
Enabled: false
|
26
|
+
|
27
|
+
Style/SingleLineBlockParams:
|
28
|
+
Enabled: false
|
29
|
+
|
30
|
+
Style/MethodMissingSuper:
|
31
|
+
Enabled: false
|
32
|
+
|
33
|
+
Style/MissingRespondToMissing:
|
34
|
+
Enabled: false
|
35
|
+
|
36
|
+
Style/EmptyMethod:
|
37
|
+
EnforcedStyle: expanded
|
38
|
+
|
39
|
+
Naming/VariableNumber:
|
40
|
+
Enabled: false
|
41
|
+
|
42
|
+
Naming/AccessorMethodName:
|
43
|
+
Enabled: false
|
44
|
+
|
45
|
+
Style/HashSyntax:
|
46
|
+
EnforcedStyle: no_mixed_keys
|
47
|
+
|
48
|
+
Style/FrozenStringLiteralComment:
|
49
|
+
Enabled: false
|
50
|
+
|
51
|
+
Style/NumericPredicate:
|
52
|
+
Enabled: false
|
53
|
+
|
54
|
+
LineLength:
|
55
|
+
Max: 119 # github diff (ex. +-)
|
56
|
+
|
57
|
+
Documentation:
|
58
|
+
Enabled: false
|
59
|
+
|
60
|
+
Metrics/ClassLength:
|
61
|
+
CountComments: false
|
62
|
+
Exclude:
|
63
|
+
- "**/spec/**/*"
|
64
|
+
|
65
|
+
Metrics/ModuleLength:
|
66
|
+
CountComments: false
|
67
|
+
Exclude:
|
68
|
+
- "**/spec/**/*"
|
69
|
+
|
70
|
+
Metrics/MethodLength:
|
71
|
+
Enabled: false
|
72
|
+
|
73
|
+
Metrics/BlockLength:
|
74
|
+
Enabled: false
|
75
|
+
|
76
|
+
Metrics/AbcSize:
|
77
|
+
Enabled: false
|
78
|
+
|
79
|
+
Metrics/CyclomaticComplexity:
|
80
|
+
Enabled: false
|
81
|
+
|
82
|
+
Metrics/PerceivedComplexity:
|
83
|
+
Enabled: false
|
84
|
+
|
85
|
+
Metrics/ParameterLists:
|
86
|
+
Enabled: false
|
87
|
+
|
88
|
+
FrozenStringLiteralComment:
|
89
|
+
Enabled: false
|
90
|
+
|
91
|
+
Style/RedundantCondition: # Double pipes(||) on multiline is not so clear.
|
92
|
+
Enabled: false
|
data/.travis.yml
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
- 2.
|
4
|
-
- 2.
|
5
|
-
- 2.
|
6
|
-
- 2.
|
7
|
-
- 2.5.1
|
3
|
+
- 2.3
|
4
|
+
- 2.4
|
5
|
+
- 2.5
|
6
|
+
- 2.6
|
8
7
|
cache: bundler
|
9
|
-
script: bundle exec
|
8
|
+
script: bundle exec rake
|
10
9
|
notifications:
|
11
10
|
slack:
|
12
11
|
secure: SixeTgiVsOaeWyKwICxLJ0GLN/C9j6qW1ZdaEytIDuZaBAn9oArrRGkJiehFdlzcPUHwzMWC0vl9GQzyBhZ7dbq+B53QY1mH9LTb9A53Y2d1OO1kBjJAkC5Yprvpjm52+x889Dwlz0bfLETvLsC2ej0NZDvSSLKFjpZZIZMOWkg=
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
[](https://travis-ci.org/QuickPay/quickpay-ruby-client)
|
4
4
|
|
5
|
-
The `quickpay-ruby-client` gem is a official client for [QuickPay API](
|
5
|
+
The `quickpay-ruby-client` gem is a official client for [QuickPay API](https://learn.quickpay.net/tech-talk/api). The Quickpay API enables you to accept payments in a secure and reliable manner.
|
6
6
|
|
7
7
|
This gem currently support QuickPay `v10` api.
|
8
8
|
|
@@ -87,7 +87,7 @@ response = client.post(
|
|
87
87
|
"/payments/1/capture",
|
88
88
|
body: { amount: 100 }.to_json,
|
89
89
|
headers: { "Content-Type" => "application/json" },
|
90
|
-
query: { "synchronized" => "" }
|
90
|
+
query: { "synchronized" => "" },
|
91
91
|
raw: false
|
92
92
|
)
|
93
93
|
|
@@ -138,7 +138,7 @@ rescue QuickPay::API::Error => e
|
|
138
138
|
end
|
139
139
|
```
|
140
140
|
|
141
|
-
You can read more about QuickPay API responses at [
|
141
|
+
You can read more about QuickPay API responses at [https://learn.quickpay.net/tech-talk/api](https://learn.quickpay.net/tech-talk/api).
|
142
142
|
|
143
143
|
## Contributions
|
144
144
|
|
data/Rakefile
CHANGED
@@ -1 +1,23 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
+
require "rake/testtask"
|
3
|
+
require "rubocop/rake_task"
|
4
|
+
|
5
|
+
RuboCop::RakeTask.new
|
6
|
+
|
7
|
+
task :opts do
|
8
|
+
ENV["TESTOPTS"] = "--verbose"
|
9
|
+
end
|
10
|
+
|
11
|
+
desc "Run tests with verbose output"
|
12
|
+
task "test:verbose" => %i[opts test]
|
13
|
+
|
14
|
+
desc "Run tests"
|
15
|
+
task :test do |t|
|
16
|
+
Rake::TestTask.new(t.name) do |tt|
|
17
|
+
tt.libs << "."
|
18
|
+
tt.test_files = Dir.glob("test/*.rb")
|
19
|
+
tt.warning = false
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
task default: %i[test rubocop]
|
data/lib/quickpay/api/client.rb
CHANGED
@@ -7,7 +7,7 @@ module QuickPay
|
|
7
7
|
module API
|
8
8
|
class Client
|
9
9
|
DEFAULT_HEADERS = {
|
10
|
-
"User-Agent"
|
10
|
+
"User-Agent" => "quickpay-ruby-client, v#{QuickPay::API::VERSION}",
|
11
11
|
"Accept-Version" => "v10"
|
12
12
|
}.freeze
|
13
13
|
|
@@ -15,7 +15,7 @@ module QuickPay
|
|
15
15
|
opts = {
|
16
16
|
read_timeout: options.fetch(:read_timeout, 60),
|
17
17
|
write_timeout: options.fetch(:write_timeout, 60),
|
18
|
-
connect_timeout: options.fetch(:connect_timeout, 60)
|
18
|
+
connect_timeout: options.fetch(:connect_timeout, 60)
|
19
19
|
}
|
20
20
|
|
21
21
|
opts[:username] = Excon::Utils.escape_uri(username) if username
|
@@ -24,20 +24,20 @@ module QuickPay
|
|
24
24
|
@connection = Excon.new(base_uri, opts)
|
25
25
|
end
|
26
26
|
|
27
|
-
[
|
27
|
+
%i[get post patch put delete head].each do |method|
|
28
28
|
define_method(method) do |path, options = {}|
|
29
29
|
headers = DEFAULT_HEADERS.merge(options.fetch(:headers, {}))
|
30
30
|
body = begin
|
31
31
|
data = options.fetch(:body, "")
|
32
32
|
if headers["Content-Type"] == "application/json" && data.instance_of?(Hash)
|
33
|
-
data.to_json
|
33
|
+
data.to_json
|
34
34
|
else
|
35
35
|
data
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
res = @connection.
|
40
|
-
method,
|
39
|
+
res = @connection.request(
|
40
|
+
method: method,
|
41
41
|
path: path,
|
42
42
|
body: body,
|
43
43
|
headers: headers,
|
@@ -47,9 +47,7 @@ module QuickPay
|
|
47
47
|
if options.fetch(:raw, false)
|
48
48
|
[res.status, res.body, res.headers]
|
49
49
|
else
|
50
|
-
if res.status >= 400
|
51
|
-
raise QuickPay::API::Error.by_status_code(res.status, res.body, res.headers)
|
52
|
-
end
|
50
|
+
raise QuickPay::API::Error.by_status_code(res.status, res.body, res.headers) if res.status >= 400
|
53
51
|
|
54
52
|
res.headers["Content-Type"] == "application/json" ? JSON.parse(res.body) : res.body
|
55
53
|
end
|
data/lib/quickpay/api/error.rb
CHANGED
@@ -39,13 +39,16 @@ module QuickPay
|
|
39
39
|
@headers = headers
|
40
40
|
end
|
41
41
|
|
42
|
+
def to_s
|
43
|
+
"#<#{self.class}: status=#{status}, body=#{body.inspect}, headers=#{headers.inspect}>"
|
44
|
+
end
|
45
|
+
alias_method :inspect, :to_s
|
46
|
+
|
42
47
|
def self.by_status_code(status, body, headers)
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
fail QuickPay::API::Error.new(status, body, headers)
|
48
|
-
end
|
48
|
+
raise QuickPay::API::Error.new(status, body, headers) unless CLASS_MAP[status]
|
49
|
+
|
50
|
+
klass = QuickPay::API::Error.const_get(CLASS_MAP[status])
|
51
|
+
raise klass.new(status, body, headers)
|
49
52
|
end
|
50
53
|
end
|
51
54
|
end
|
data/lib/quickpay/api/version.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# coding: utf-8
|
2
1
|
lib = File.expand_path("lib", __dir__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
3
|
require "quickpay/api/version"
|
@@ -19,8 +18,11 @@ Gem::Specification.new do |spec|
|
|
19
18
|
spec.require_paths = ["lib"]
|
20
19
|
|
21
20
|
spec.add_development_dependency "bundler"
|
22
|
-
spec.add_development_dependency "rake", "~> 12.3.2"
|
23
21
|
spec.add_development_dependency "minitest", "~> 5.11.3"
|
22
|
+
spec.add_development_dependency "rake", "~> 12.3.2"
|
23
|
+
spec.add_development_dependency "rubocop"
|
24
|
+
spec.add_development_dependency "simplecov", "~> 0.16.1"
|
25
|
+
spec.add_development_dependency "simplecov-console", "~> 0.4.2"
|
24
26
|
|
25
27
|
spec.add_dependency "excon", "~> 0.62.0"
|
26
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quickpay-ruby-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- QuickPay Developers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-11-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: minitest
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 5.11.3
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 5.11.3
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rake
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,19 +53,47 @@ dependencies:
|
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: 12.3.2
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
56
|
+
name: rubocop
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: simplecov
|
43
71
|
requirement: !ruby/object:Gem::Requirement
|
44
72
|
requirements:
|
45
73
|
- - "~>"
|
46
74
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
75
|
+
version: 0.16.1
|
48
76
|
type: :development
|
49
77
|
prerelease: false
|
50
78
|
version_requirements: !ruby/object:Gem::Requirement
|
51
79
|
requirements:
|
52
80
|
- - "~>"
|
53
81
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
82
|
+
version: 0.16.1
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: simplecov-console
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.4.2
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.4.2
|
55
97
|
- !ruby/object:Gem::Dependency
|
56
98
|
name: excon
|
57
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -75,6 +117,7 @@ extensions: []
|
|
75
117
|
extra_rdoc_files: []
|
76
118
|
files:
|
77
119
|
- ".gitignore"
|
120
|
+
- ".rubocop.yml"
|
78
121
|
- ".travis.yml"
|
79
122
|
- CHANGELOG.md
|
80
123
|
- Gemfile
|
@@ -104,8 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
147
|
- !ruby/object:Gem::Version
|
105
148
|
version: '0'
|
106
149
|
requirements: []
|
107
|
-
|
108
|
-
rubygems_version: 2.5.2.3
|
150
|
+
rubygems_version: 3.0.3
|
109
151
|
signing_key:
|
110
152
|
specification_version: 4
|
111
153
|
summary: Ruby client for QuickPay API
|