quickpay-ruby-client 2.0.0 → 2.0.1

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