simpal 0.1.3 → 1.0.0

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: bc8c9ae515061413bcdfdf60dd4a8cb0393683ec6266c2cdcc062471e9e39768
4
- data.tar.gz: c98b37a5a25403c0f360404d21f4f7edd9ac343cb861b9e2a7b91b1f61ad39bc
3
+ metadata.gz: ff9bd39a1b3bf614656ba4aa4db6bda6de2ce675e2d429d705f00737e02fa324
4
+ data.tar.gz: 3d3b24a4727dc9321d37ffb10cc502a7141e759453cf42c6c5ee13728b308994
5
5
  SHA512:
6
- metadata.gz: 2eb6cafb908711a15ae7260a759475ab7c97e1695c3ef6c884aa1c7e51261b9d2283d35c3b5597d560b8368e25eec931b311e198625f9675599a289d3f5da590
7
- data.tar.gz: 999703680296aa07aa79a57eae18732179733acfcf88c0721fb9af2c7c45ec59cf02ebad7167a265f17fdc3fe5bd53d8da489c6da4b9d63be09015b1fd1cf481
6
+ metadata.gz: 6af06ce6dbfb1b8a6151894089b00642e0f8b221edf1f04e1b8d63b041226794ffcf04cc807d5980a4cd1f605c248cde3bc7e240a5c64340541ef744ee97e9f9
7
+ data.tar.gz: fd272791debd28b4896bdb8fd1391dbdbcf8f9adc43322b9c9db81bf8675d055e53bde820b1725e3808ca75bfc639b5e24b813baa16952ca342d9629e1dfa37a
data/.rubocop.yml CHANGED
@@ -11,8 +11,18 @@ Layout/LineLength:
11
11
 
12
12
  Metrics/BlockLength:
13
13
  Exclude:
14
+ - '**/*.gemspec'
14
15
  - 'spec/**/*'
15
16
 
17
+ Metrics/ClassLength:
18
+ Exclude:
19
+ - 'spec/support/fake_*.rb'
20
+
21
+ Metrics/MethodLength:
22
+ Max: 40
23
+ Exclude:
24
+ - 'spec/support/fake_*.rb'
25
+
16
26
  Metrics/AbcSize:
17
27
  Max: 40
18
28
 
@@ -22,8 +32,5 @@ Metrics/CyclomaticComplexity:
22
32
  Metrics/PerceivedComplexity:
23
33
  Max: 20
24
34
 
25
- Metrics/MethodLength:
26
- Max: 40
27
-
28
35
  Naming/VariableNumber:
29
36
  EnforcedStyle: snake_case
data/Guardfile ADDED
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ guard :rspec, cmd: 'bundle exec rspec' do
4
+ require 'guard/rspec/dsl'
5
+
6
+ dsl = Guard::RSpec::Dsl.new(self)
7
+
8
+ # RSpec files
9
+ rspec = dsl.rspec
10
+ watch(rspec.spec_files)
11
+ watch(rspec.spec_helper) { rspec.spec_dir }
12
+ watch(rspec.spec_support) { rspec.spec_dir }
13
+
14
+ # Ruby library files
15
+ ruby = dsl.ruby
16
+ dsl.watch_spec_files_for(ruby.lib_files)
17
+ end
@@ -54,12 +54,12 @@ module Simpal
54
54
  # @param id [String] The ID of an authorized payment.
55
55
  # @param headers [Hash] The custom headers to add to the request.
56
56
  # @param client [Simpal::Client] The API client to make the request with.
57
- # @return [Hash] An empty hash.
57
+ # @return [Boolean] `true` when the authorization has been voided, `false` otherwise.
58
58
  #
59
59
  def self.void(id, headers: {}, client: nil)
60
60
  client = Simpal.client_for(client)
61
61
  response = client.connection.post("/v2/payments/authorizations/#{id}/void", nil, headers)
62
- response.body
62
+ response.success?
63
63
  end
64
64
  end
65
65
  end
data/lib/simpal/client.rb CHANGED
@@ -51,12 +51,15 @@ module Simpal
51
51
  #
52
52
  def connection
53
53
  @connection ||= Faraday.new(service_url, headers: headers) do |connection|
54
- connection.use Faraday::Response::RaiseError
54
+ connection.request :json
55
+
56
+ connection.response :raise_error
57
+ connection.response :json
58
+
55
59
  connection.use Simpal::Middleware::Headers
56
- connection.use FaradayMiddleware::EncodeJson
57
- connection.use FaradayMiddleware::ParseJson
58
60
  connection.use Simpal::Middleware::Authorization, self
59
- connection.adapter Faraday.default_adapter
61
+
62
+ connection.adapter :net_http
60
63
  end
61
64
  end
62
65
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Simpal
4
- VERSION = '0.1.3'
4
+ VERSION = '1.0.0'
5
5
  end
@@ -42,10 +42,12 @@ module Simpal
42
42
 
43
43
  def connection
44
44
  @connection ||= Faraday.new(client.service_url, headers: client.headers) do |connection|
45
- connection.use Faraday::Request::UrlEncoded
46
- connection.use Faraday::Response::RaiseError
47
- connection.use FaradayMiddleware::ParseJson
48
- connection.request(:basic_auth, client.client_id, client.client_secret)
45
+ connection.request :url_encoded
46
+
47
+ connection.response :raise_error
48
+ connection.response :json
49
+
50
+ connection.request :authorization, :basic, client.client_id, client.client_secret
49
51
  end
50
52
  end
51
53
 
@@ -50,11 +50,10 @@ module Simpal
50
50
  # @param id [String] The ID of an authorized payment.
51
51
  # @param headers [Hash] The custom headers to add to the request.
52
52
  # @param client [Simpal::Client] The API client to make the request with.
53
- # @return [Boolean] `true` if the authorization was voided, else an exception is raised.
53
+ # @return [Boolean] `true` when the authorization has been voided, `false` otherwise.
54
54
  #
55
55
  def self.void(id, headers: {}, client: nil)
56
56
  API::Payments::Authorizations.void(id, headers: headers, client: client)
57
- true
58
57
  end
59
58
  end
60
59
  end
@@ -28,7 +28,7 @@ module Simpal
28
28
  # @return [Simpal::PayPalObject] An object representing the refunded payment.
29
29
  #
30
30
  def self.refund(id, params = {}, headers: {}, client: nil)
31
- resource = API::Payments::Captures.refund(id, params, headers: headers, client: client)
31
+ resource = API::Payments::Captures.capture(id, params, headers: headers, client: client)
32
32
  PayPalObject.new(resource)
33
33
  end
34
34
  end
data/lib/simpal.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'faraday'
4
- require 'faraday_middleware'
5
4
  require 'json'
6
5
  require 'singleton'
7
6
  require 'time'
data/simpal.gemspec CHANGED
@@ -27,13 +27,16 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ['lib']
29
29
 
30
- spec.add_dependency 'faraday', '~> 1.4'
31
- spec.add_dependency 'faraday_middleware', '~> 1.0'
30
+ spec.add_dependency 'faraday', '~> 2.0'
32
31
 
32
+ spec.add_development_dependency 'guard', '~> 2.18'
33
+ spec.add_development_dependency 'guard-rspec', '~> 4.7'
33
34
  spec.add_development_dependency 'pry', '~> 0.14.1'
34
35
  spec.add_development_dependency 'rake', '~> 13.0'
35
36
  spec.add_development_dependency 'rspec', '~> 3.0'
36
37
  spec.add_development_dependency 'rubocop', '~> 1.7'
37
38
  spec.add_development_dependency 'rubocop-rake', '~> 0.5.1'
38
39
  spec.add_development_dependency 'rubocop-rspec', '~> 2.3'
40
+ spec.add_development_dependency 'sinatra', '~> 2.1'
41
+ spec.add_development_dependency 'webmock', '~> 3.14'
39
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simpal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nialto Services
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-14 00:00:00.000000000 Z
11
+ date: 2022-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,28 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.4'
19
+ version: '2.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: '1.4'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: faraday_middleware
28
+ name: guard
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.0'
34
- type: :runtime
33
+ version: '2.18'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.18'
41
+ - !ruby/object:Gem::Dependency
42
+ name: guard-rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '4.7'
48
+ type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '1.0'
54
+ version: '4.7'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: pry
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +136,34 @@ dependencies:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
138
  version: '2.3'
139
+ - !ruby/object:Gem::Dependency
140
+ name: sinatra
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '2.1'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '2.1'
153
+ - !ruby/object:Gem::Dependency
154
+ name: webmock
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '3.14'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '3.14'
125
167
  description:
126
168
  email:
127
169
  - support@nialtoservices.co.uk
@@ -136,6 +178,7 @@ files:
136
178
  - CHANGELOG.md
137
179
  - CODE_OF_CONDUCT.md
138
180
  - Gemfile
181
+ - Guardfile
139
182
  - LICENSE
140
183
  - README.md
141
184
  - Rakefile