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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: b5cbbfa5f7a1d0ecd4004ed342f9be6c117685ac
4
- data.tar.gz: 1e57b8ce8cfb0e37faffc843286d65ddad532e64
2
+ SHA256:
3
+ metadata.gz: 88c5713183ab2d918e027ee43d4348f87a915d0cf94b66e0cc01b66ec42fee32
4
+ data.tar.gz: e0cec45e297bbd6c4aca2d24f1acc8f89bd350389f15600f581e3401182593bc
5
5
  SHA512:
6
- metadata.gz: 0e1e75a6652268e6343461d4b2e861a3d83f603c721582ca16f919c3cccaee29520384bbad883ef4a896487a40e022c6506ceb683247c0af41cc54c914ba9137
7
- data.tar.gz: 76788896e3ff36f96a8e47bcea140b943ece98e6262dd418fa97225d6619a7e41f4f80775250c8212910f14585636ebad5bc321807d13685a2612dd815130a2a
6
+ metadata.gz: 27af2e172760121849dadc7294fa499db71727d6af201a86790515e762d7250ecd24524aa802dd3d4c66e12de89d56d47c190f5ae4e820b3a22fb3bd69421b26
7
+ data.tar.gz: c198b34b01e5cf05bb558dc54518d67704ae6addb211e6feb6cf1bb9e9636ba190598058d4dea4f39c9af469efc253d711cadf0574a17f0c403f94e3a2c205df
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
1
  .bundle/
2
2
  coverage/
3
+ pkg/
3
4
  Gemfile.lock
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.1.10
4
- - 2.2.10
5
- - 2.3.7
6
- - 2.4.4
7
- - 2.5.1
3
+ - 2.3
4
+ - 2.4
5
+ - 2.5
6
+ - 2.6
8
7
  cache: bundler
9
- script: bundle exec ruby test/client.rb
8
+ script: bundle exec rake
10
9
  notifications:
11
10
  slack:
12
11
  secure: SixeTgiVsOaeWyKwICxLJ0GLN/C9j6qW1ZdaEytIDuZaBAn9oArrRGkJiehFdlzcPUHwzMWC0vl9GQzyBhZ7dbq+B53QY1mH9LTb9A53Y2d1OO1kBjJAkC5Yprvpjm52+x889Dwlz0bfLETvLsC2ej0NZDvSSLKFjpZZIZMOWkg=
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in quickpay-ruby-client.gemspec
4
4
  gemspec
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Build Status](https://travis-ci.org/QuickPay/quickpay-ruby-client.svg)](https://travis-ci.org/QuickPay/quickpay-ruby-client)
4
4
 
5
- The `quickpay-ruby-client` gem is a official client for [QuickPay API](http://tech.quickpay.net/api). The Quickpay API enables you to accept payments in a secure and reliable manner.
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 [http://tech.quickpay.net/api/](http://tech.quickpay.net/api).
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]
@@ -7,7 +7,7 @@ module QuickPay
7
7
  module API
8
8
  class Client
9
9
  DEFAULT_HEADERS = {
10
- "User-Agent" => "quickpay-ruby-client, v#{QuickPay::API::VERSION}",
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
- [:get, :post, :patch, :put, :delete, :head].each do |method|
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.__send__(
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
@@ -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
- if CLASS_MAP[status]
44
- klass = QuickPay::API::Error.const_get(CLASS_MAP[status])
45
- fail klass.new(status, body, headers)
46
- else
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
@@ -1,5 +1,5 @@
1
1
  module QuickPay
2
2
  module API
3
- VERSION = "2.0.0".freeze
3
+ VERSION = "2.0.1".freeze
4
4
  end
5
5
  end
@@ -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.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-01-18 00:00:00.000000000 Z
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: minitest
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: 5.11.3
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: 5.11.3
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
- rubyforge_project:
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