esignatur 2.0.0 → 2.1.0

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: a56c57363333c59a1972939e7ccbc231181b43dda62d0dbb6442d40cb96c68de
4
- data.tar.gz: 17ecb9323250da140550e27469c5a68b520622682173c465ba10429f03dc755b
3
+ metadata.gz: 6a6949dca95e7db555ce0ef6a51305250ae96b6915d4d22816c6cd4f39fb04f2
4
+ data.tar.gz: 40e103f6364ef082093550b9022c07931a4ab779198e971d40f2e8a1d5a9bda9
5
5
  SHA512:
6
- metadata.gz: 68608247f8c74cb620de3d2ee6e31d0e45b6d24647ef8bf918a5cf0d2535d27add8effed9e34b93a81fef01f65eceb4333b3a07e426b20393ca657fa9f9b91bf
7
- data.tar.gz: 331c02edcb43f96d856fcea4bccbbdb1d89d53886fb02ca22d18267fd962618f60c0416889859bc3e034c30758933db7501d8b5b2c4118aa18423d389db7f39c
6
+ metadata.gz: fd2676c1c5fe06d34609d14e6c5d6cca6ae66c9e822859d1e7378aa8b8f89db7e5248c870e5524957a6f8b5098886ee7e751d2a10a334f3546bb2a0e7cd4efa9
7
+ data.tar.gz: b10cdbacbdc0cb0f9acd78edf07e5b8dec4b2b786039a9ad2679e81d1bc362d3a87153199ae8225efc4ec065fbbf3d44f0b6b9ef3b758934bb47b1abcc4b4656
@@ -3,6 +3,7 @@ on: [push, pull_request]
3
3
  jobs:
4
4
  specs:
5
5
  strategy:
6
+ fail-fast: false
6
7
  matrix:
7
8
  ruby-version: ['3.0', '3.2', '3.3']
8
9
 
@@ -10,7 +11,7 @@ jobs:
10
11
  env:
11
12
  CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
12
13
  steps:
13
- - uses: actions/checkout@v2
14
+ - uses: actions/checkout@v3
14
15
  - uses: ruby/setup-ruby@v1
15
16
  with:
16
17
  ruby-version: ${{ matrix.ruby-version }}
@@ -1,3 +1,4 @@
1
1
  rubocop:
2
2
  config_file: .rubocop.yml
3
+ version: 1.5.2
3
4
  fail_on_violations: true
data/.rubocop.yml CHANGED
@@ -3,7 +3,7 @@ require: rubocop-rspec
3
3
  RSpec/NestedGroups:
4
4
  Enabled: false
5
5
 
6
- Metrics/LineLength:
6
+ Layout/LineLength:
7
7
  Enabled: true
8
8
  Max: 120
9
9
 
@@ -18,7 +18,7 @@ Lint/AmbiguousBlockAssociation:
18
18
  Exclude:
19
19
  - spec/**/*.rb
20
20
 
21
- Naming/UncommunicativeMethodParamName:
21
+ Naming/MethodParameterName:
22
22
  AllowedNames:
23
23
  - 'to'
24
24
  - 'at'
@@ -28,7 +28,7 @@ Naming/UncommunicativeMethodParamName:
28
28
  - 'as'
29
29
 
30
30
  AllCops:
31
- TargetRubyVersion: 3.1
31
+ TargetRubyVersion: 3.0
32
32
  Exclude:
33
33
  - bin/*
34
34
  - esignatur.gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- esignatur (2.0.0)
4
+ esignatur (2.1.0)
5
5
  activesupport (>= 4.0)
6
6
  faraday (>= 0.10)
7
7
  json (>= 2.6.2)
@@ -46,14 +46,13 @@ GEM
46
46
  i18n (1.14.1)
47
47
  concurrent-ruby (~> 1.0)
48
48
  json (2.7.1)
49
- language_server-protocol (3.17.0.3)
50
49
  method_source (1.0.0)
51
50
  minitest (5.21.2)
52
51
  mutex_m (0.2.0)
53
52
  net-http (0.4.1)
54
53
  uri
55
54
  parallel (1.24.0)
56
- parser (3.3.0.5)
55
+ parser (3.3.1.0)
57
56
  ast (~> 2.4.1)
58
57
  racc
59
58
  pry (0.14.2)
@@ -63,11 +62,12 @@ GEM
63
62
  byebug (~> 11.0)
64
63
  pry (>= 0.13, < 0.15)
65
64
  public_suffix (5.0.4)
66
- racc (1.7.3)
65
+ racc (1.8.0)
67
66
  rainbow (3.1.1)
68
67
  rake (13.1.0)
69
- regexp_parser (2.9.0)
70
- rexml (3.2.6)
68
+ regexp_parser (2.9.2)
69
+ rexml (3.2.8)
70
+ strscan (>= 3.0.9)
71
71
  rspec (3.12.0)
72
72
  rspec-core (~> 3.12.0)
73
73
  rspec-expectations (~> 3.12.0)
@@ -81,27 +81,20 @@ GEM
81
81
  diff-lcs (>= 1.2.0, < 2.0)
82
82
  rspec-support (~> 3.12.0)
83
83
  rspec-support (3.12.1)
84
- rubocop (1.60.2)
85
- json (~> 2.3)
86
- language_server-protocol (>= 3.17.0)
84
+ rubocop (1.5.2)
87
85
  parallel (~> 1.10)
88
- parser (>= 3.3.0.2)
86
+ parser (>= 2.7.1.5)
89
87
  rainbow (>= 2.2.2, < 4.0)
90
88
  regexp_parser (>= 1.8, < 3.0)
91
- rexml (>= 3.2.5, < 4.0)
92
- rubocop-ast (>= 1.30.0, < 2.0)
89
+ rexml
90
+ rubocop-ast (>= 1.2.0, < 2.0)
93
91
  ruby-progressbar (~> 1.7)
94
- unicode-display_width (>= 2.4.0, < 3.0)
95
- rubocop-ast (1.30.0)
96
- parser (>= 3.2.1.0)
97
- rubocop-capybara (2.20.0)
98
- rubocop (~> 1.41)
99
- rubocop-factory_bot (2.25.1)
100
- rubocop (~> 1.41)
101
- rubocop-rspec (2.26.1)
102
- rubocop (~> 1.40)
103
- rubocop-capybara (~> 2.17)
104
- rubocop-factory_bot (~> 2.22)
92
+ unicode-display_width (>= 1.4.0, < 2.0)
93
+ rubocop-ast (1.31.3)
94
+ parser (>= 3.3.1.0)
95
+ rubocop-rspec (2.4.0)
96
+ rubocop (~> 1.0)
97
+ rubocop-ast (>= 1.1.0)
105
98
  ruby-progressbar (1.13.0)
106
99
  ruby2_keywords (0.0.5)
107
100
  simplecov (0.21.2)
@@ -110,9 +103,10 @@ GEM
110
103
  simplecov_json_formatter (~> 0.1)
111
104
  simplecov-html (0.12.3)
112
105
  simplecov_json_formatter (0.1.4)
106
+ strscan (3.1.0)
113
107
  tzinfo (2.0.6)
114
108
  concurrent-ruby (~> 1.0)
115
- unicode-display_width (2.5.0)
109
+ unicode-display_width (1.8.0)
116
110
  uri (0.13.0)
117
111
  webmock (3.19.1)
118
112
  addressable (>= 2.8.0)
@@ -129,7 +123,7 @@ DEPENDENCIES
129
123
  pry-byebug
130
124
  rake (>= 10.0)
131
125
  rspec (>= 3.0)
132
- rubocop (>= 0.57)
126
+ rubocop (= 1.5.2)
133
127
  rubocop-rspec (>= 1.27)
134
128
  simplecov (>= 0.16.1)
135
129
  webmock (>= 3.4)
data/esignatur.gemspec CHANGED
@@ -2,6 +2,7 @@
2
2
  lib = File.expand_path("../lib", __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require "esignatur/version"
5
+ require "yaml"
5
6
 
6
7
  Gem::Specification.new do |spec|
7
8
  spec.name = "esignatur"
@@ -39,7 +40,7 @@ Gem::Specification.new do |spec|
39
40
  spec.add_development_dependency "bundler", ">= 1.16"
40
41
  spec.add_development_dependency "rake", ">= 10.0"
41
42
  spec.add_development_dependency "rspec", ">= 3.0"
42
- spec.add_development_dependency "rubocop", '>= 0.57'
43
+ spec.add_development_dependency "rubocop", YAML.load_file('.hound.yml')['rubocop']['version']
43
44
  spec.add_development_dependency "rubocop-rspec", '>= 1.27'
44
45
  spec.add_development_dependency "webmock", '>= 3.4'
45
46
  spec.add_development_dependency "codecov", '>= 0.2.0'
data/lib/esignatur/api.rb CHANGED
@@ -12,33 +12,42 @@ module Esignatur
12
12
 
13
13
  attr_reader :creator_id
14
14
 
15
- def initialize(api_key:, creator_id:, base_url: DEFAULT_BASE_URL)
15
+ def initialize(api_key:, creator_id:, base_url: DEFAULT_BASE_URL, timeout: nil)
16
16
  @api_key = api_key.to_s
17
17
  @base_url = base_url
18
18
  @creator_id = creator_id
19
+ @default_timeout = timeout
19
20
  end
20
21
 
21
- def post(relative_url, data:, headers: {})
22
- make_request(:post, relative_url, data: data, extra_headers: headers)
22
+ def post(relative_url, data:, headers: {}, timeout: nil)
23
+ make_request(:post, relative_url, data: data, extra_headers: headers, timeout: timeout)
23
24
  end
24
25
 
25
- def get(relative_url, headers: {})
26
- make_request(:get, relative_url, extra_headers: headers)
26
+ def get(relative_url, headers: {}, timeout: nil)
27
+ make_request(:get, relative_url, extra_headers: headers, timeout: timeout)
27
28
  end
28
29
 
29
30
  private
30
31
 
31
- attr_reader :base_url, :api_key
32
+ attr_reader :base_url, :api_key, :default_timeout
32
33
 
33
- def make_request(http_method, relative_url, extra_headers: {}, data: nil)
34
+ def make_request(http_method, relative_url, extra_headers: {}, data: nil, timeout: nil)
34
35
  url = URI.join(base_url, relative_url).to_s
35
-
36
36
  headers = default_headers.merge(extra_headers)
37
- raw_response = Faraday.public_send(http_method, url, data&.to_json, headers)
37
+
38
+ raw_response = connection(timeout: timeout).public_send(http_method, url, data&.to_json, headers)
38
39
  request = RequestInfo.new(http_method, url, headers)
39
40
  Esignatur::Api::Response.new(raw_response, request: request)
40
41
  end
41
42
 
43
+ def connection(timeout: nil)
44
+ request_timeout = timeout || default_timeout
45
+
46
+ Faraday.new do |conn|
47
+ conn.options.timeout = request_timeout if request_timeout
48
+ end
49
+ end
50
+
42
51
  def default_headers
43
52
  {
44
53
  'X-eSignatur-Id' => api_key,
@@ -4,12 +4,8 @@ module Esignatur
4
4
  class Client
5
5
  DEFAULT_BASE_URL = 'https://api.esignatur.dk'
6
6
 
7
- def initialize(api_key:, creator_id:, base_url: DEFAULT_BASE_URL)
8
- @api = Esignatur::Api.new(
9
- api_key: api_key,
10
- base_url: base_url,
11
- creator_id: creator_id
12
- )
7
+ def initialize(**options)
8
+ @api = Esignatur::Api.new(**options)
13
9
  end
14
10
 
15
11
  def orders
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Esignatur
4
- VERSION = '2.0.0'
4
+ VERSION = '2.1.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: esignatur
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Povilas Jurcys
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-30 00:00:00.000000000 Z
11
+ date: 2024-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -112,16 +112,16 @@ dependencies:
112
112
  name: rubocop
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: '0.57'
117
+ version: 1.5.2
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - '='
123
123
  - !ruby/object:Gem::Version
124
- version: '0.57'
124
+ version: 1.5.2
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rubocop-rspec
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -201,7 +201,7 @@ extra_rdoc_files: []
201
201
  files:
202
202
  - ".github/workflows/ruby.yml"
203
203
  - ".gitignore"
204
- - ".hound"
204
+ - ".hound.yml"
205
205
  - ".rspec"
206
206
  - ".rubocop.yml"
207
207
  - ".ruby-version"