ddy_remote_resource 1.2.0 → 1.2.3

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: d0032d56e8df7f6e90e146abb65b29a41a59a63e39747c6b0b7585c02f577069
4
- data.tar.gz: 4454b9226626e5a2028dc871c83d15347da8a373d104e641810c3f002e8e94c0
3
+ metadata.gz: bc832463abbb4ae23f60450dd26d5ea1c0877936bec0bd73240fa5e57146500c
4
+ data.tar.gz: bce2d906670cc76c1ce5a3d078556d6bb36db600257427481c29abc4a70f2fcc
5
5
  SHA512:
6
- metadata.gz: 327330942d08e782894d10b46be1c6a6fc560f4cab2a4f7bb77a2b2958853ad929a024ccc00c560a3672e48c55a5844e9064e9c7fc00ae9839228d904038f2b6
7
- data.tar.gz: f6d6b6c025c695cd68f4697b9a001046d54a29b32f51aabbec187ff9359bf32da6db83510cc5a3a251729159100e06b11054986a009d55386ece26e5f372ed8b
6
+ metadata.gz: adb4cba41affef80d801a7797643f71430303ce62e1a1243ad17f2c8590ae6e83baa19c5f5bba5b237084daf9637c0c11cb159abd5e2e8a713631a6f573217af
7
+ data.tar.gz: 665c40303743c338d00423c05e0e7307ea8f617c536078ee92452e7b4f56758e2f477db96fba6f9734815d326b35da975b0cf30d303693b1057bab645203d823
data/.gitignore CHANGED
@@ -22,3 +22,4 @@ tmp
22
22
  *.a
23
23
  mkmf.log
24
24
  sandbox/
25
+ *.DS_Store
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.5.3
1
+ 2.7.6
data/.travis.yml CHANGED
@@ -1,3 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.5.3
3
+ - 2.6.10
4
+ - 2.7.6
5
+ - 3.0.4
6
+ - 3.1.2
data/Gemfile CHANGED
@@ -2,5 +2,3 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in remote_resource.gemspec
4
4
  gemspec
5
-
6
- gem 'webmock', git: 'https://github.com/JanDintel/webmock.git', branch: 'feature/ignore-json-keys-order'
data/README.md CHANGED
@@ -11,9 +11,6 @@ To replace `ActiveResource` by providing a dynamic and customizable API interfac
11
11
  Add this line to your application's Gemfile:
12
12
 
13
13
  ```ruby
14
- # Use this to fetch the gem from Gitlab
15
- gem 'remote_resource', git: 'git@lab.digidentity.eu:jvanderpas/remote_resource.git'
16
-
17
14
  # Use this to fetch the gem from RubyGems.org
18
15
  gem 'ddy_remote_resource', require: 'remote_resource'
19
16
  ```
@@ -42,6 +42,12 @@ module RemoteResource
42
42
  @response.code
43
43
  end
44
44
 
45
+ # The return code can contain additional information when response_code=0
46
+ # see https://curl.se/libcurl/c/libcurl-errors.html for the full list
47
+ def return_code
48
+ @response.return_code
49
+ end
50
+
45
51
  def response_body
46
52
  @response.body # TODO: Filter sensitive information using: RemoteResource::Util.filter_params
47
53
  end
@@ -53,6 +59,7 @@ module RemoteResource
53
59
  def to_s
54
60
  message = "HTTP request failed for #{resource_klass}"
55
61
  message << " with response_code=#{response_code}" if response_code.present?
62
+ message << " with return_code=#{return_code}" if return_code.present? && response_code.zero?
56
63
  message << " with http_action=#{http_action}"
57
64
  message << " with request_url=#{request_url}"
58
65
  message
@@ -28,7 +28,11 @@ module RemoteResource
28
28
  @response_code ||= @connection_response.response_code
29
29
  end
30
30
 
31
- alias_method :code, :response_code
31
+ alias code response_code
32
+
33
+ def return_code
34
+ @return_code ||= @connection_response.return_code
35
+ end
32
36
 
33
37
  def headers
34
38
  @headers ||= @connection_response.headers
@@ -30,7 +30,7 @@ module RemoteResource
30
30
  raise(RemoteResource::CollectionOptionKeyError, "`collection_prefix` variable `#{key}` is missing from `collection_options`") if check_collection_options
31
31
  value = key
32
32
  end
33
- URI.parser.escape(value.to_s)
33
+ URI::DEFAULT_PARSER.escape(value.to_s)
34
34
  end
35
35
  end
36
36
  end
@@ -1,3 +1,3 @@
1
1
  module RemoteResource
2
- VERSION = '1.2.0'.freeze
2
+ VERSION = '1.2.3'.freeze
3
3
  end
@@ -6,7 +6,7 @@ require 'remote_resource/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'ddy_remote_resource'
8
8
  spec.version = RemoteResource::VERSION
9
- spec.authors = ['Digidentity', 'Jan van der Pas']
9
+ spec.authors = ['Digidentity', 'Johnny Dongelmans', 'Jan van der Pas']
10
10
  spec.email = ['development@digidentity.com']
11
11
  spec.summary = %q{RemoteResource, a gem to use resources with REST services.}
12
12
  spec.description = %q{RemoteResource, a gem to use resources with REST services. A replacement for ActiveResource gem.}
@@ -18,20 +18,20 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency 'bundler', '~> 1.6'
21
+ spec.add_development_dependency 'bundler'
22
22
  spec.add_development_dependency 'rake', '~> 10.4'
23
23
  spec.add_development_dependency 'rspec', '~> 3.1'
24
24
  spec.add_development_dependency 'pry', '~> 0.10'
25
- # spec.add_development_dependency 'webmock', '~> 1.24'
25
+ spec.add_development_dependency 'webmock', '~> 3'
26
26
  spec.add_development_dependency 'guard', '~> 2.14'
27
27
  spec.add_development_dependency 'guard-rspec', '~> 4.7'
28
28
  spec.add_development_dependency 'terminal-notifier-guard', '~> 1.6'
29
29
 
30
- spec.add_runtime_dependency 'activesupport', '>= 4.1', '< 7'
31
- spec.add_runtime_dependency 'activemodel', '>= 4.1', '< 7'
30
+ spec.add_runtime_dependency 'activesupport', '>= 4.1', '< 8'
31
+ spec.add_runtime_dependency 'activemodel', '>= 4.1', '< 8'
32
32
  spec.add_runtime_dependency 'virtus', '~> 1.0', '>= 1.0.4'
33
33
  spec.add_runtime_dependency 'mime-types', '~> 3.0'
34
- spec.add_runtime_dependency 'ethon', '~> 0.7', '>= 0.7.1'
35
- spec.add_runtime_dependency 'typhoeus', '~> 0.7', '>= 0.7.0'
34
+ spec.add_runtime_dependency 'ethon'
35
+ spec.add_runtime_dependency 'typhoeus', '>= 0.7'
36
36
  spec.add_runtime_dependency 'request_store', '~> 1.4.1'
37
37
  end
@@ -21,8 +21,8 @@ RSpec.describe '#save' do
21
21
  id: 12,
22
22
  title: 'Lorem Ipsum',
23
23
  body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
24
- featured: false,
25
24
  created_at: Time.new(2015, 10, 4, 9, 30, 0),
25
+ featured: false
26
26
  }
27
27
  }
28
28
  end
@@ -39,8 +39,8 @@ RSpec.describe '#save' do
39
39
  data: {
40
40
  title: 'Lorem Ipsum',
41
41
  body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
42
- featured: false,
43
42
  created_at: Time.new(2015, 10, 4, 9, 30, 0),
43
+ featured: false
44
44
  }
45
45
  }
46
46
  end
@@ -103,8 +103,8 @@ RSpec.describe '#save' do
103
103
  data: {
104
104
  title: 'Lore',
105
105
  body: '',
106
- featured: true,
107
106
  created_at: Time.new(2015, 10, 4, 9, 30, 0),
107
+ featured: true
108
108
  }
109
109
  }
110
110
  end
@@ -181,8 +181,8 @@ RSpec.describe '#save' do
181
181
  data: {
182
182
  title: 'Lorem Ipsum',
183
183
  body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
184
- featured: false,
185
184
  created_at: nil,
185
+ featured: false
186
186
  }
187
187
  }
188
188
  end
@@ -246,8 +246,8 @@ RSpec.describe '#save' do
246
246
  data: {
247
247
  title: 'Lore',
248
248
  body: '',
249
- featured: true,
250
- created_at: nil
249
+ created_at: nil,
250
+ featured: true
251
251
  }
252
252
  }
253
253
  end
@@ -682,6 +682,17 @@ RSpec.describe RemoteResource::Request do
682
682
  end
683
683
  end
684
684
 
685
+ context 'when the response code is 0 and no other error is raised' do
686
+ it 'raises a RemoteResource::HTTPError with correct error message' do
687
+ allow(response).to receive(:response_code) { 0 }
688
+ allow(connection_response).to receive(:return_code) { :ssl_connect }
689
+ allow(connection_response).to receive(:response_code) { 0 }
690
+
691
+ error_message = 'HTTP request failed for RemoteResource::RequestDummy with response_code=0 with return_code=ssl_connect with http_action=get with request_url=http://www.foobar.com/request_dummy.json'
692
+ expect { request.send(:raise_http_error, request, response) }.to raise_error RemoteResource::HTTPError, error_message
693
+ end
694
+ end
695
+
685
696
  context 'when the response code is nothing and no other error is raised' do
686
697
  it 'raises a RemoteResource::HTTPError' do
687
698
  allow(response).to receive(:response_code) { nil }
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  RSpec.describe RemoteResource::VERSION do
4
- it { is_expected.to eql '1.2.0' }
4
+ it { is_expected.to eql '1.2.3' }
5
5
  end
metadata CHANGED
@@ -1,30 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddy_remote_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Digidentity
8
+ - Johnny Dongelmans
8
9
  - Jan van der Pas
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2021-01-08 00:00:00.000000000 Z
13
+ date: 2022-07-04 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: bundler
16
17
  requirement: !ruby/object:Gem::Requirement
17
18
  requirements:
18
- - - "~>"
19
+ - - ">="
19
20
  - !ruby/object:Gem::Version
20
- version: '1.6'
21
+ version: '0'
21
22
  type: :development
22
23
  prerelease: false
23
24
  version_requirements: !ruby/object:Gem::Requirement
24
25
  requirements:
25
- - - "~>"
26
+ - - ">="
26
27
  - !ruby/object:Gem::Version
27
- version: '1.6'
28
+ version: '0'
28
29
  - !ruby/object:Gem::Dependency
29
30
  name: rake
30
31
  requirement: !ruby/object:Gem::Requirement
@@ -67,6 +68,20 @@ dependencies:
67
68
  - - "~>"
68
69
  - !ruby/object:Gem::Version
69
70
  version: '0.10'
71
+ - !ruby/object:Gem::Dependency
72
+ name: webmock
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: '3'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: '3'
70
85
  - !ruby/object:Gem::Dependency
71
86
  name: guard
72
87
  requirement: !ruby/object:Gem::Requirement
@@ -118,7 +133,7 @@ dependencies:
118
133
  version: '4.1'
119
134
  - - "<"
120
135
  - !ruby/object:Gem::Version
121
- version: '7'
136
+ version: '8'
122
137
  type: :runtime
123
138
  prerelease: false
124
139
  version_requirements: !ruby/object:Gem::Requirement
@@ -128,7 +143,7 @@ dependencies:
128
143
  version: '4.1'
129
144
  - - "<"
130
145
  - !ruby/object:Gem::Version
131
- version: '7'
146
+ version: '8'
132
147
  - !ruby/object:Gem::Dependency
133
148
  name: activemodel
134
149
  requirement: !ruby/object:Gem::Requirement
@@ -138,7 +153,7 @@ dependencies:
138
153
  version: '4.1'
139
154
  - - "<"
140
155
  - !ruby/object:Gem::Version
141
- version: '7'
156
+ version: '8'
142
157
  type: :runtime
143
158
  prerelease: false
144
159
  version_requirements: !ruby/object:Gem::Requirement
@@ -148,7 +163,7 @@ dependencies:
148
163
  version: '4.1'
149
164
  - - "<"
150
165
  - !ruby/object:Gem::Version
151
- version: '7'
166
+ version: '8'
152
167
  - !ruby/object:Gem::Dependency
153
168
  name: virtus
154
169
  requirement: !ruby/object:Gem::Requirement
@@ -187,42 +202,30 @@ dependencies:
187
202
  name: ethon
188
203
  requirement: !ruby/object:Gem::Requirement
189
204
  requirements:
190
- - - "~>"
191
- - !ruby/object:Gem::Version
192
- version: '0.7'
193
205
  - - ">="
194
206
  - !ruby/object:Gem::Version
195
- version: 0.7.1
207
+ version: '0'
196
208
  type: :runtime
197
209
  prerelease: false
198
210
  version_requirements: !ruby/object:Gem::Requirement
199
211
  requirements:
200
- - - "~>"
201
- - !ruby/object:Gem::Version
202
- version: '0.7'
203
212
  - - ">="
204
213
  - !ruby/object:Gem::Version
205
- version: 0.7.1
214
+ version: '0'
206
215
  - !ruby/object:Gem::Dependency
207
216
  name: typhoeus
208
217
  requirement: !ruby/object:Gem::Requirement
209
218
  requirements:
210
- - - "~>"
211
- - !ruby/object:Gem::Version
212
- version: '0.7'
213
219
  - - ">="
214
220
  - !ruby/object:Gem::Version
215
- version: 0.7.0
221
+ version: '0.7'
216
222
  type: :runtime
217
223
  prerelease: false
218
224
  version_requirements: !ruby/object:Gem::Requirement
219
225
  requirements:
220
- - - "~>"
221
- - !ruby/object:Gem::Version
222
- version: '0.7'
223
226
  - - ">="
224
227
  - !ruby/object:Gem::Version
225
- version: 0.7.0
228
+ version: '0.7'
226
229
  - !ruby/object:Gem::Dependency
227
230
  name: request_store
228
231
  requirement: !ruby/object:Gem::Requirement
@@ -320,8 +323,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
320
323
  - !ruby/object:Gem::Version
321
324
  version: '0'
322
325
  requirements: []
323
- rubyforge_project:
324
- rubygems_version: 2.7.6
326
+ rubygems_version: 3.3.15
325
327
  signing_key:
326
328
  specification_version: 4
327
329
  summary: RemoteResource, a gem to use resources with REST services.