simpal 0.1.3 → 1.0.2

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: da8d90b4b7d128563272f45a94b547cbd74e8529c40895a024b492e1137aa03e
4
+ data.tar.gz: 0ad90fffe64cd5cad8e9a06a344e31dfd7b8436e438712e6ec8ca3e120b028cc
5
5
  SHA512:
6
- metadata.gz: 2eb6cafb908711a15ae7260a759475ab7c97e1695c3ef6c884aa1c7e51261b9d2283d35c3b5597d560b8368e25eec931b311e198625f9675599a289d3f5da590
7
- data.tar.gz: 999703680296aa07aa79a57eae18732179733acfcf88c0721fb9af2c7c45ec59cf02ebad7167a265f17fdc3fe5bd53d8da489c6da4b9d63be09015b1fd1cf481
6
+ metadata.gz: 679cabc6fd8e5562ad682b715345ef3a468c0a30c6c2513b984a813bf9d5edd8420d58154e173b05b0ea10589891b9f534470690a2c74fe5f5e4022ddf5eed56
7
+ data.tar.gz: 48f700c2391ca1a281bf5fc7323786b5e75fd76686b95e1df67c59b3e21c191d980b9564de441bcf7c5e5bbe7489065e3dbc33530a4628576fea42c696903107
@@ -1,31 +1,29 @@
1
1
  name: Ruby
2
2
 
3
3
  on:
4
+ workflow_dispatch:
4
5
  push:
5
- branches: [main]
6
- pull_request:
7
- branches: [main]
8
6
 
9
7
  jobs:
10
8
  rubocop:
11
9
  name: RuboCop
12
10
  runs-on: ubuntu-latest
13
11
  steps:
14
- - uses: actions/checkout@v2
15
- name: Checkout Source Code
16
- - uses: ruby/setup-ruby@v1
17
- name: Setup Ruby
18
- with:
19
- ruby-version: 3.0
20
- bundler-cache: true
21
- - name: RuboCop
22
- run: bundle exec rubocop --parallel --fail-level warning --format progress --format html --out rubocop-report.html
23
- - uses: actions/upload-artifact@v1
24
- name: Upload Report
25
- if: always()
26
- with:
27
- name: RuboCop Report
28
- path: rubocop-report.html
12
+ - uses: actions/checkout@v2
13
+ name: Checkout Source Code
14
+ - uses: ruby/setup-ruby@v1
15
+ name: Setup Ruby
16
+ with:
17
+ ruby-version: 3.0
18
+ bundler-cache: true
19
+ - name: RuboCop
20
+ run: bundle exec rubocop --parallel --fail-level warning --format progress --format html --out rubocop-report.html
21
+ - uses: actions/upload-artifact@v1
22
+ name: Upload Report
23
+ if: always()
24
+ with:
25
+ name: RuboCop Report
26
+ path: rubocop-report.html
29
27
 
30
28
  rspec:
31
29
  name: RSpec
@@ -36,29 +34,27 @@ jobs:
36
34
  - macos-latest
37
35
  - ubuntu-latest
38
36
  ruby-version:
39
- - '2.5'
40
37
  - '2.6'
41
38
  - '2.7'
42
39
  - '3.0'
40
+ - '3.1'
43
41
  - head
44
42
  - jruby
45
- - jruby-head
46
43
  - truffleruby
47
- - truffleruby-head
48
44
  runs-on: ${{ matrix.platform }}
49
45
  steps:
50
- - uses: actions/checkout@v2
51
- name: Checkout Source Code
52
- - uses: ruby/setup-ruby@v1
53
- name: Setup Ruby
54
- with:
55
- ruby-version: ${{ matrix.ruby-version }}
56
- bundler-cache: true
57
- - name: RSpec
58
- run: bundle exec rspec --format progress --format html --out rspec-report.html
59
- - uses: actions/upload-artifact@v1
60
- name: Upload Report
61
- if: always()
62
- with:
63
- name: RSpec Report
64
- path: rspec-report.html
46
+ - uses: actions/checkout@v2
47
+ name: Checkout Source Code
48
+ - uses: ruby/setup-ruby@v1
49
+ name: Setup Ruby
50
+ with:
51
+ ruby-version: ${{ matrix.ruby-version }}
52
+ bundler-cache: true
53
+ - name: RSpec
54
+ run: bundle exec rspec --format progress --format html --out rspec-report.html
55
+ - uses: actions/upload-artifact@v1
56
+ name: Upload Report
57
+ if: always()
58
+ with:
59
+ name: RSpec Report
60
+ path: rspec-report.html
data/.rspec CHANGED
@@ -1 +1,2 @@
1
+ --require sinatra/base
1
2
  --require spec_helper
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.2'
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
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
@@ -16,6 +16,7 @@ Gem::Specification.new do |spec|
16
16
  spec.metadata['homepage_uri'] = spec.homepage
17
17
  spec.metadata['source_code_uri'] = 'https://github.com/nialtoservices/simpal'
18
18
  spec.metadata['changelog_uri'] = 'https://github.com/NialtoServices/simpal/blob/main/CHANGELOG.md'
19
+ spec.metadata['rubygems_mfa_required'] = 'true'
19
20
 
20
21
  # Specify which files should be added to the gem when it is released.
21
22
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -27,13 +28,16 @@ Gem::Specification.new do |spec|
27
28
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
28
29
  spec.require_paths = ['lib']
29
30
 
30
- spec.add_dependency 'faraday', '~> 1.4'
31
- spec.add_dependency 'faraday_middleware', '~> 1.0'
31
+ spec.add_dependency 'faraday', '~> 2.0'
32
32
 
33
- spec.add_development_dependency 'pry', '~> 0.14.1'
33
+ spec.add_development_dependency 'guard', '~> 2.18'
34
+ spec.add_development_dependency 'guard-rspec', '~> 4.7'
35
+ spec.add_development_dependency 'pry', '~> 0.14'
34
36
  spec.add_development_dependency 'rake', '~> 13.0'
35
- spec.add_development_dependency 'rspec', '~> 3.0'
36
- spec.add_development_dependency 'rubocop', '~> 1.7'
37
- spec.add_development_dependency 'rubocop-rake', '~> 0.5.1'
38
- spec.add_development_dependency 'rubocop-rspec', '~> 2.3'
37
+ spec.add_development_dependency 'rspec', '~> 3.11'
38
+ spec.add_development_dependency 'rubocop', '~> 1.32'
39
+ spec.add_development_dependency 'rubocop-rake', '~> 0.6'
40
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.12'
41
+ spec.add_development_dependency 'sinatra', '~> 2.2'
42
+ spec.add_development_dependency 'webmock', '~> 3.14'
39
43
  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.2
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-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,42 +16,56 @@ 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
44
58
  requirements:
45
59
  - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: 0.14.1
61
+ version: '0.14'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: 0.14.1
68
+ version: '0.14'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rake
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -72,56 +86,84 @@ dependencies:
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '3.0'
89
+ version: '3.11'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '3.0'
96
+ version: '3.11'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: rubocop
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - "~>"
88
102
  - !ruby/object:Gem::Version
89
- version: '1.7'
103
+ version: '1.32'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: '1.7'
110
+ version: '1.32'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: rubocop-rake
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: 0.5.1
117
+ version: '0.6'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: 0.5.1
124
+ version: '0.6'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: rubocop-rspec
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: '2.3'
131
+ version: '2.12'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '2.12'
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.2'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '2.2'
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'
118
160
  type: :development
119
161
  prerelease: false
120
162
  version_requirements: !ruby/object:Gem::Requirement
121
163
  requirements:
122
164
  - - "~>"
123
165
  - !ruby/object:Gem::Version
124
- version: '2.3'
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
@@ -164,6 +207,7 @@ metadata:
164
207
  homepage_uri: https://github.com/nialtoservices/simpal
165
208
  source_code_uri: https://github.com/nialtoservices/simpal
166
209
  changelog_uri: https://github.com/NialtoServices/simpal/blob/main/CHANGELOG.md
210
+ rubygems_mfa_required: 'true'
167
211
  post_install_message:
168
212
  rdoc_options: []
169
213
  require_paths:
@@ -179,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
223
  - !ruby/object:Gem::Version
180
224
  version: '0'
181
225
  requirements: []
182
- rubygems_version: 3.2.32
226
+ rubygems_version: 3.3.7
183
227
  signing_key:
184
228
  specification_version: 4
185
229
  summary: A simple, lightweight wrapper around PayPal's REST API.