restful_resource 2.12.0 → 2.13.1

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: 07d4d828bec908de39e82dafb3758b8d5aba824156cfab777e6f7cc1023ad780
4
- data.tar.gz: 0bc035ca2730ac59ea88cdc4ed09ace71694de18da2049651472f860a1d07cb5
3
+ metadata.gz: 7d41b3df9f2b3940094af5308e6c9d1dbcae7a591e7b2238e1407b5c4b980a18
4
+ data.tar.gz: 48c54c2ca77114c110944e89f8e776e1b31a8a1c389ac93a7bb910199182e4e8
5
5
  SHA512:
6
- metadata.gz: bc2785c662982c44946272a01c012d908f65e6dbb4226ce33c69ed907472af8b6866f12052e6ef4dc44f4d94868e44ce48a2de62d84bd30acfa40e8a314c20d5
7
- data.tar.gz: '06982f1adf0b187610157a049b35ca24516cccddad936aa2d52a04415a1e8f5d10bd6b7e95d0a510a9fb680a38ed26a0550aed5ea67ba71b06b2482d0fb2bd1f'
6
+ metadata.gz: bea15b2b11ab4a947b2b6a6ebe2c7712ac4e451093dd276e91f7d73c743700b5c0edf48b34433d2199bb47b29fe49c8a79a5b42bb0196053b59ce799afcf5ba8
7
+ data.tar.gz: 7e7728d05b28b28b84f129b56ea41e90db3971b68d5e46a2b371643501544817e04d7b9b39c41d8c1479a102a9bfd004f157dd9ddea18ea42471d5e8274050a8
data/.circleci/config.yml CHANGED
@@ -1,29 +1,22 @@
1
- version: 2
1
+ version: 2.1
2
+
2
3
  jobs:
3
- build:
4
+ test:
5
+ parameters:
6
+ ruby:
7
+ type: string
4
8
  docker:
5
- - image: circleci/ruby:2.7
9
+ - image: 'cimg/ruby:<< parameters.ruby >>'
6
10
  steps:
7
11
  - checkout
8
- - run:
9
- name: Bundle Install
10
- command: |
11
- gem install bundler && \
12
- bundle check || bundle install
13
- - run:
14
- name: Run rspec in parallel
15
- command: |
16
- bundle exec rspec --profile 10 \
17
- --format RspecJunitFormatter \
18
- --out test_results/rspec.xml \
19
- --format progress \
20
- $(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
21
- - store_test_results:
22
- path: test_results
23
-
12
+ - run: bundle install
13
+ - run: bundle exec rspec
24
14
 
25
15
  workflows:
26
16
  version: 2
27
- build:
17
+ test:
28
18
  jobs:
29
- - build
19
+ - test:
20
+ matrix:
21
+ parameters:
22
+ ruby: ['2.7', '3.1']
@@ -0,0 +1,23 @@
1
+ version: 2
2
+ registries:
3
+ rubygems-server-rubygems-pkg-github-com-carwow:
4
+ type: rubygems-server
5
+ url: https://rubygems.pkg.github.com/carwow
6
+ username: "${{secrets.RUBYGEMS_SERVER_RUBYGEMS_PKG_GITHUB_COM_CARWOW_USERNAME}}"
7
+ password: "${{secrets.RUBYGEMS_SERVER_RUBYGEMS_PKG_GITHUB_COM_CARWOW_PASSWORD}}"
8
+
9
+ updates:
10
+ - package-ecosystem: bundler
11
+ directory: "/"
12
+ schedule:
13
+ interval: daily
14
+ time: "09:00"
15
+ open-pull-requests-limit: 10
16
+ ignore:
17
+ - dependency-name: activesupport
18
+ versions:
19
+ - 6.1.2
20
+ - 6.1.2.1
21
+ - 6.1.3
22
+ registries:
23
+ - rubygems-server-rubygems-pkg-github-com-carwow
data/.gitignore CHANGED
@@ -18,3 +18,4 @@ tmp
18
18
  *.swp
19
19
  *.swo
20
20
  /tags
21
+ /Gemfile.lock
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ 2.13.1
4
+ ---
5
+
6
+ - Update activesupport requirement from ~> 6.0 to >= 6, < 8 (#152)
7
+
8
+ 2.13.0
9
+ ---
10
+
11
+ - Require ruby >= 2.7
12
+
3
13
  2.10.0
4
14
  ---
5
15
 
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RestfulResource
4
+ class Deprecator < ActiveSupport::Deprecation
5
+ GEM_NAME = 'restful_resource'
6
+
7
+ def self.build(horizon: 'soon')
8
+ @deprecators ||= {}
9
+ @deprecators["#{GEM_NAME}@#{horizon}"] ||= new(horizon)
10
+ end
11
+
12
+ def initialize(horizon)
13
+ super(horizon, GEM_NAME)
14
+
15
+ @app_deprecator = ActiveSupport::Deprecation.instance
16
+ end
17
+
18
+ # inherit the default configured behavior for the app
19
+ delegate :behavior, to: :app_deprecator
20
+
21
+ private
22
+
23
+ attr_reader :app_deprecator
24
+ end
25
+ end
@@ -1,5 +1,5 @@
1
1
  module RestfulResource
2
2
  class StrictOpenStruct < ::OpenStruct
3
- deprecate :dig, :[]
3
+ deprecate :dig, :[], deprecator: Deprecator.build
4
4
  end
5
5
  end
@@ -1,3 +1,3 @@
1
1
  module RestfulResource
2
- VERSION = '2.12.0'.freeze
2
+ VERSION = '2.13.1'.freeze
3
3
  end
@@ -9,6 +9,7 @@ require 'faraday/encoding'
9
9
  require 'active_support'
10
10
  require 'active_support/all'
11
11
  require 'resolv-replace'
12
+ require_relative 'restful_resource/deprecator'
12
13
  require_relative 'restful_resource/version'
13
14
  require_relative 'restful_resource/null_logger'
14
15
  require_relative 'restful_resource/paginated_array'
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
16
16
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = ['lib']
19
- spec.required_ruby_version = Gem::Requirement.new('>= 2.4.0')
19
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.7.0')
20
20
 
21
21
  spec.add_development_dependency 'bundler'
22
22
  spec.add_development_dependency 'carwow_rubocop'
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.add_development_dependency 'rspec-its'
27
27
  spec.add_development_dependency 'rspec_junit_formatter'
28
28
 
29
- spec.add_dependency 'activesupport', '~> 6.0'
29
+ spec.add_dependency 'activesupport', '>= 6', '< 8'
30
30
  spec.add_dependency 'faraday', '~> 1.0'
31
31
  spec.add_dependency 'faraday-cdn-metrics', '~> 0.2'
32
32
  spec.add_dependency 'faraday-encoding'
@@ -0,0 +1,21 @@
1
+ require_relative '../spec_helper'
2
+
3
+ RSpec.describe RestfulResource::StrictOpenStruct do
4
+ let(:instance) { described_class.new(foo: 'bar') }
5
+
6
+ describe '#dig' do
7
+ it 'is deprecated' do
8
+ expect { instance.dig(:foo) }.to output(
9
+ /dig is deprecated and will be removed from restful_resource soon/
10
+ ).to_stderr
11
+ end
12
+ end
13
+
14
+ describe '#[]' do
15
+ it 'is deprecated' do
16
+ expect { instance[:foo] }.to output(
17
+ /\[\] is deprecated and will be removed from restful_resource soon/
18
+ ).to_stderr
19
+ end
20
+ end
21
+ end
data/spec/spec_helper.rb CHANGED
@@ -7,6 +7,7 @@ require_relative 'fixtures'
7
7
  RSpec.configure do |config|
8
8
  config.color = true
9
9
  config.formatter = :progress
10
+ config.filter_run_when_matching :focus
10
11
  end
11
12
 
12
13
  def expect_get(url, response, headers: {}, open_timeout: nil, timeout: nil)
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restful_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.0
4
+ version: 2.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Santoro
8
8
  - Federico Rebora
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-03-29 00:00:00.000000000 Z
12
+ date: 2022-09-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -113,16 +113,22 @@ dependencies:
113
113
  name: activesupport
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - "~>"
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '6'
119
+ - - "<"
117
120
  - !ruby/object:Gem::Version
118
- version: '6.0'
121
+ version: '8'
119
122
  type: :runtime
120
123
  prerelease: false
121
124
  version_requirements: !ruby/object:Gem::Requirement
122
125
  requirements:
123
- - - "~>"
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '6'
129
+ - - "<"
124
130
  - !ruby/object:Gem::Version
125
- version: '6.0'
131
+ version: '8'
126
132
  - !ruby/object:Gem::Dependency
127
133
  name: faraday
128
134
  requirement: !ruby/object:Gem::Requirement
@@ -246,12 +252,12 @@ extra_rdoc_files: []
246
252
  files:
247
253
  - ".circleci/config.yml"
248
254
  - ".codeclimate.yml"
255
+ - ".github/dependabot.yml"
249
256
  - ".gitignore"
250
257
  - ".rubocop.yml"
251
258
  - ".rubocop_todo.yml"
252
259
  - CHANGELOG.md
253
260
  - Gemfile
254
- - Gemfile.lock
255
261
  - LICENSE.txt
256
262
  - README.md
257
263
  - Rakefile
@@ -260,6 +266,7 @@ files:
260
266
  - lib/restful_resource/associations.rb
261
267
  - lib/restful_resource/authorization.rb
262
268
  - lib/restful_resource/base.rb
269
+ - lib/restful_resource/deprecator.rb
263
270
  - lib/restful_resource/http_client.rb
264
271
  - lib/restful_resource/instrumentation.rb
265
272
  - lib/restful_resource/null_logger.rb
@@ -284,12 +291,13 @@ files:
284
291
  - spec/restful_resource/rails_validations_spec.rb
285
292
  - spec/restful_resource/redirections_spec.rb
286
293
  - spec/restful_resource/request_spec.rb
294
+ - spec/restful_resource/strict_open_struct_spec.rb
287
295
  - spec/spec_helper.rb
288
296
  homepage: http://www.github.com/carwow/restful_resource
289
297
  licenses:
290
298
  - MIT
291
299
  metadata: {}
292
- post_install_message:
300
+ post_install_message:
293
301
  rdoc_options: []
294
302
  require_paths:
295
303
  - lib
@@ -297,15 +305,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
297
305
  requirements:
298
306
  - - ">="
299
307
  - !ruby/object:Gem::Version
300
- version: 2.4.0
308
+ version: 2.7.0
301
309
  required_rubygems_version: !ruby/object:Gem::Requirement
302
310
  requirements:
303
311
  - - ">="
304
312
  - !ruby/object:Gem::Version
305
313
  version: '0'
306
314
  requirements: []
307
- rubygems_version: 3.1.4
308
- signing_key:
315
+ rubygems_version: 3.1.6
316
+ signing_key:
309
317
  specification_version: 4
310
318
  summary: A simple activerecord inspired rest resource base class implemented using
311
319
  rest-client
@@ -320,4 +328,5 @@ test_files:
320
328
  - spec/restful_resource/rails_validations_spec.rb
321
329
  - spec/restful_resource/redirections_spec.rb
322
330
  - spec/restful_resource/request_spec.rb
331
+ - spec/restful_resource/strict_open_struct_spec.rb
323
332
  - spec/spec_helper.rb
data/Gemfile.lock DELETED
@@ -1,123 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- restful_resource (2.12.0)
5
- activesupport (~> 6.0)
6
- faraday (~> 1.0)
7
- faraday-cdn-metrics (~> 0.2)
8
- faraday-encoding
9
- faraday-http-cache (~> 2.2)
10
- faraday_middleware (~> 1.0)
11
- link_header
12
- rack (~> 2.2)
13
- typhoeus (~> 1.4)
14
-
15
- GEM
16
- remote: https://rubygems.org/
17
- specs:
18
- activesupport (6.1.3.1)
19
- concurrent-ruby (~> 1.0, >= 1.0.2)
20
- i18n (>= 1.6, < 2)
21
- minitest (>= 5.1)
22
- tzinfo (~> 2.0)
23
- zeitwerk (~> 2.3)
24
- ast (2.4.1)
25
- carwow_rubocop (3.4.1)
26
- rubocop (>= 0.93)
27
- rubocop-performance
28
- rubocop-rspec
29
- coderay (1.1.3)
30
- concurrent-ruby (1.1.8)
31
- diff-lcs (1.4.4)
32
- ethon (0.12.0)
33
- ffi (>= 1.3.0)
34
- faraday (1.3.0)
35
- faraday-net_http (~> 1.0)
36
- multipart-post (>= 1.2, < 3)
37
- ruby2_keywords
38
- faraday-cdn-metrics (0.2.0)
39
- faraday (~> 1)
40
- faraday-encoding (0.0.5)
41
- faraday
42
- faraday-http-cache (2.2.0)
43
- faraday (>= 0.8)
44
- faraday-net_http (1.0.1)
45
- faraday_middleware (1.0.0)
46
- faraday (~> 1.0)
47
- ffi (1.15.0)
48
- i18n (1.8.9)
49
- concurrent-ruby (~> 1.0)
50
- link_header (0.0.8)
51
- method_source (1.0.0)
52
- minitest (5.14.4)
53
- multipart-post (2.1.1)
54
- parallel (1.20.0)
55
- parser (2.7.2.0)
56
- ast (~> 2.4.1)
57
- pry (0.14.0)
58
- coderay (~> 1.1)
59
- method_source (~> 1.0)
60
- rack (2.2.3)
61
- rainbow (3.0.0)
62
- rake (13.0.3)
63
- regexp_parser (1.8.2)
64
- rexml (3.2.4)
65
- rspec (3.10.0)
66
- rspec-core (~> 3.10.0)
67
- rspec-expectations (~> 3.10.0)
68
- rspec-mocks (~> 3.10.0)
69
- rspec-core (3.10.0)
70
- rspec-support (~> 3.10.0)
71
- rspec-expectations (3.10.0)
72
- diff-lcs (>= 1.2.0, < 2.0)
73
- rspec-support (~> 3.10.0)
74
- rspec-its (1.3.0)
75
- rspec-core (>= 3.0.0)
76
- rspec-expectations (>= 3.0.0)
77
- rspec-mocks (3.10.0)
78
- diff-lcs (>= 1.2.0, < 2.0)
79
- rspec-support (~> 3.10.0)
80
- rspec-support (3.10.0)
81
- rspec_junit_formatter (0.4.1)
82
- rspec-core (>= 2, < 4, != 2.12.0)
83
- rubocop (1.3.0)
84
- parallel (~> 1.10)
85
- parser (>= 2.7.1.5)
86
- rainbow (>= 2.2.2, < 4.0)
87
- regexp_parser (>= 1.8)
88
- rexml
89
- rubocop-ast (>= 1.1.1)
90
- ruby-progressbar (~> 1.7)
91
- unicode-display_width (>= 1.4.0, < 2.0)
92
- rubocop-ast (1.1.1)
93
- parser (>= 2.7.1.5)
94
- rubocop-performance (1.8.1)
95
- rubocop (>= 0.87.0)
96
- rubocop-ast (>= 0.4.0)
97
- rubocop-rspec (2.0.0)
98
- rubocop (~> 1.0)
99
- rubocop-ast (>= 1.1.0)
100
- ruby-progressbar (1.10.1)
101
- ruby2_keywords (0.0.4)
102
- typhoeus (1.4.0)
103
- ethon (>= 0.9.0)
104
- tzinfo (2.0.4)
105
- concurrent-ruby (~> 1.0)
106
- unicode-display_width (1.7.0)
107
- zeitwerk (2.4.2)
108
-
109
- PLATFORMS
110
- ruby
111
-
112
- DEPENDENCIES
113
- bundler
114
- carwow_rubocop
115
- pry
116
- rake
117
- restful_resource!
118
- rspec
119
- rspec-its
120
- rspec_junit_formatter
121
-
122
- BUNDLED WITH
123
- 2.1.4