activeresource 6.1.0 → 6.1.4

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: eb092fb2d853c88525dc4f656733f5ba9c4865d1092ee376f598c1ec944c0e02
4
- data.tar.gz: c907a425824ed9227dbc9b48195bf38c0ffb9d6312ab13a63270b973450482b8
3
+ metadata.gz: 87b2f9445da9619b4e59b63d13b310c85ea7b9db22dbff8c8aab83257d880877
4
+ data.tar.gz: d1ecb0d9c75e3199e46c532761583850eb195828f4f790e111493ede3cdc3e68
5
5
  SHA512:
6
- metadata.gz: b287742d4867cef996a87ce8a0ef285eb2012cfa23f9c47cf149f9086ea4df620fa945952a24e160bc07201601672702edb43bd4d6279a95a58734118d9c457f
7
- data.tar.gz: b9a74b86bcc934044ebf06df35b0a48729fdba4947785583c2c403901729b6d7133657e4131db13b8d3229502896afa8db7ef0ac87aa5c6762dafbcb1b0a326a
6
+ metadata.gz: ddbba830f9d17ef742925659cf4bc91a2da13d020eb1ff4fa50796d84b299fee609aa668b3a9865dbf85171d1e8bc764434acb385f8a5799d52394e3affe267a
7
+ data.tar.gz: 92e88d4feb2df0d2cb47e9b33efbaf65c29edf71721c0ad0b804c8900f5bf1f0545ec8751442d193fb05ad8c28309f15fd6a93fa1f9ea537e4bf58041f20fe54
@@ -11,7 +11,6 @@ require "active_support/core_ext/object/blank"
11
11
  require "active_support/core_ext/object/to_query"
12
12
  require "active_support/core_ext/object/duplicable"
13
13
  require "set"
14
- require "uri"
15
14
 
16
15
  require "active_resource/connection"
17
16
  require "active_resource/formats"
@@ -213,6 +212,7 @@ module ActiveResource
213
212
  # * 301, 302, 303, 307 - ActiveResource::Redirection
214
213
  # * 400 - ActiveResource::BadRequest
215
214
  # * 401 - ActiveResource::UnauthorizedAccess
215
+ # * 402 - ActiveResource::PaymentRequired
216
216
  # * 403 - ActiveResource::ForbiddenAccess
217
217
  # * 404 - ActiveResource::ResourceNotFound
218
218
  # * 405 - ActiveResource::MethodNotAllowed
@@ -490,8 +490,8 @@ module ActiveResource
490
490
  self._site = nil
491
491
  else
492
492
  self._site = create_site_uri_from(site)
493
- self._user = URI::DEFAULT_PARSER.unescape(_site.user) if _site.user
494
- self._password = URI::DEFAULT_PARSER.unescape(_site.password) if _site.password
493
+ self._user = URI_PARSER.unescape(_site.user) if _site.user
494
+ self._password = URI_PARSER.unescape(_site.password) if _site.password
495
495
  end
496
496
  end
497
497
 
@@ -750,7 +750,7 @@ module ActiveResource
750
750
  # Default value is <tt>site.path</tt>.
751
751
  def prefix=(value = "/")
752
752
  # Replace :placeholders with '#{embedded options[:lookups]}'
753
- prefix_call = value.gsub(/:\w+/) { |key| "\#{URI::DEFAULT_PARSER.escape options[#{key}].to_s}" }
753
+ prefix_call = value.gsub(/:\w+/) { |key| "\#{URI_PARSER.escape options[#{key}].to_s}" }
754
754
 
755
755
  # Clear prefix parameters in case they have been cached
756
756
  @prefix_parameters = nil
@@ -5,7 +5,6 @@ require "active_support/core_ext/object/inclusion"
5
5
  require "net/https"
6
6
  require "date"
7
7
  require "time"
8
- require "uri"
9
8
 
10
9
  module ActiveResource
11
10
  # Class to handle connections to remote web services.
@@ -43,8 +42,8 @@ module ActiveResource
43
42
  def site=(site)
44
43
  @site = site.is_a?(URI) ? site : URI.parse(site)
45
44
  @ssl_options ||= {} if @site.is_a?(URI::HTTPS)
46
- @user = URI::DEFAULT_PARSER.unescape(@site.user) if @site.user
47
- @password = URI::DEFAULT_PARSER.unescape(@site.password) if @site.password
45
+ @user = URI_PARSER.unescape(@site.user) if @site.user
46
+ @password = URI_PARSER.unescape(@site.password) if @site.password
48
47
  end
49
48
 
50
49
  # Set the proxy for remote service.
@@ -140,6 +139,8 @@ module ActiveResource
140
139
  raise(BadRequest.new(response))
141
140
  when 401
142
141
  raise(UnauthorizedAccess.new(response))
142
+ when 402
143
+ raise(PaymentRequired.new(response))
143
144
  when 403
144
145
  raise(ForbiddenAccess.new(response))
145
146
  when 404
@@ -173,8 +174,8 @@ module ActiveResource
173
174
 
174
175
  def new_http
175
176
  if @proxy
176
- user = URI::DEFAULT_PARSER.unescape(@proxy.user) if @proxy.user
177
- password = URI::DEFAULT_PARSER.unescape(@proxy.password) if @proxy.password
177
+ user = URI_PARSER.unescape(@proxy.user) if @proxy.user
178
+ password = URI_PARSER.unescape(@proxy.password) if @proxy.password
178
179
  Net::HTTP.new(@site.host, @site.port, @proxy.host, @proxy.port, user, password)
179
180
  else
180
181
  Net::HTTP.new(@site.host, @site.port)
@@ -57,6 +57,10 @@ module ActiveResource
57
57
  class UnauthorizedAccess < ClientError # :nodoc:
58
58
  end
59
59
 
60
+ # 402 Payment Required
61
+ class PaymentRequired < ClientError # :nodoc:
62
+ end
63
+
60
64
  # 403 Forbidden
61
65
  class ForbiddenAccess < ClientError # :nodoc:
62
66
  end
@@ -21,5 +21,11 @@ module ActiveResource
21
21
  app.config.active_job.custom_serializers << ActiveResource::ActiveJobSerializer
22
22
  end
23
23
  end
24
+
25
+ initializer "active_resource.deprecator" do |app|
26
+ if app.respond_to?(:deprecators)
27
+ app.deprecators[:active_resource] = ActiveResource.deprecator
28
+ end
29
+ end
24
30
  end
25
31
  end
@@ -57,7 +57,7 @@ module ActiveResource
57
57
  errors = decoded["errors"] || {}
58
58
  if errors.kind_of?(Array)
59
59
  # 3.2.1-style with array of strings
60
- ActiveSupport::Deprecation.warn("Returning errors as an array of strings is deprecated.")
60
+ ActiveResource.deprecator.warn("Returning errors as an array of strings is deprecated.")
61
61
  from_array errors, save_cache
62
62
  else
63
63
  # 3.2.2+ style
@@ -65,7 +65,7 @@ module ActiveResource
65
65
  end
66
66
  else
67
67
  # <3.2-style respond_with - lacks 'errors' key
68
- ActiveSupport::Deprecation.warn('Returning errors as a hash without a root "errors" key is deprecated.')
68
+ ActiveResource.deprecator.warn('Returning errors as a hash without a root "errors" key is deprecated.')
69
69
  from_hash decoded, save_cache
70
70
  end
71
71
  end
@@ -4,7 +4,7 @@ module ActiveResource
4
4
  module VERSION # :nodoc:
5
5
  MAJOR = 6
6
6
  MINOR = 1
7
- TINY = 0
7
+ TINY = 4
8
8
  PRE = nil
9
9
 
10
10
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
@@ -23,6 +23,8 @@
23
23
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24
24
  #++
25
25
 
26
+ require "uri"
27
+
26
28
  require "active_support"
27
29
  require "active_model"
28
30
  require "active_resource/exceptions"
@@ -31,6 +33,8 @@ require "active_resource/version"
31
33
  module ActiveResource
32
34
  extend ActiveSupport::Autoload
33
35
 
36
+ URI_PARSER = defined?(URI::RFC2396_PARSER) ? URI::RFC2396_PARSER : URI::RFC2396_Parser.new
37
+
34
38
  autoload :Base
35
39
  autoload :Callbacks
36
40
  autoload :Connection
@@ -42,6 +46,16 @@ module ActiveResource
42
46
  autoload :InheritingHash
43
47
  autoload :Validations
44
48
  autoload :Collection
49
+
50
+ if ActiveSupport::VERSION::STRING >= "7.1"
51
+ def self.deprecator
52
+ @deprecator ||= ActiveSupport::Deprecation.new(VERSION::STRING, "ActiveResource")
53
+ end
54
+ else
55
+ def self.deprecator
56
+ ActiveSupport::Deprecation
57
+ end
58
+ end
45
59
  end
46
60
 
47
61
  require "active_resource/railtie" if defined?(Rails.application)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activeresource
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.0
4
+ version: 6.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-24 00:00:00.000000000 Z
11
+ date: 2024-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -135,11 +135,11 @@ licenses:
135
135
  - MIT
136
136
  metadata:
137
137
  bug_tracker_uri: https://github.com/rails/activeresource/issues
138
- changelog_uri: https://github.com/rails/activeresource/releases/tag/v6.1.0
138
+ changelog_uri: https://github.com/rails/activeresource/releases/tag/v6.1.4
139
139
  documentation_uri: http://rubydoc.info/gems/activeresource
140
- source_code_uri: https://github.com/rails/activeresource/tree/v6.1.0
140
+ source_code_uri: https://github.com/rails/activeresource/tree/v6.1.4
141
141
  rubygems_mfa_required: 'true'
142
- post_install_message:
142
+ post_install_message:
143
143
  rdoc_options: []
144
144
  require_paths:
145
145
  - lib
@@ -154,8 +154,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
154
  - !ruby/object:Gem::Version
155
155
  version: '0'
156
156
  requirements: []
157
- rubygems_version: 3.4.10
158
- signing_key:
157
+ rubygems_version: 3.5.11
158
+ signing_key:
159
159
  specification_version: 4
160
160
  summary: REST modeling framework (part of Rails).
161
161
  test_files: []