simpal 0.1.3 → 1.0.2

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