activeresource 4.1.0 → 6.0.0

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.
Files changed (33) hide show
  1. checksums.yaml +5 -5
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +324 -0
  4. data/lib/active_resource/active_job_serializer.rb +26 -0
  5. data/lib/active_resource/associations/builder/association.rb +6 -6
  6. data/lib/active_resource/associations/builder/belongs_to.rb +5 -3
  7. data/lib/active_resource/associations/builder/has_many.rb +4 -2
  8. data/lib/active_resource/associations/builder/has_one.rb +5 -3
  9. data/lib/active_resource/associations.rb +23 -20
  10. data/lib/active_resource/base.rb +233 -113
  11. data/lib/active_resource/callbacks.rb +3 -1
  12. data/lib/active_resource/collection.rb +21 -12
  13. data/lib/active_resource/connection.rb +78 -81
  14. data/lib/active_resource/custom_methods.rb +8 -6
  15. data/lib/active_resource/exceptions.rb +17 -5
  16. data/lib/active_resource/formats/json_format.rb +4 -1
  17. data/lib/active_resource/formats/xml_format.rb +4 -2
  18. data/lib/active_resource/formats.rb +5 -3
  19. data/lib/active_resource/http_mock.rb +23 -27
  20. data/lib/active_resource/inheriting_hash.rb +15 -0
  21. data/lib/active_resource/log_subscriber.rb +14 -3
  22. data/lib/active_resource/railtie.rb +10 -10
  23. data/lib/active_resource/reflection.rb +11 -10
  24. data/lib/active_resource/schema.rb +6 -3
  25. data/lib/active_resource/singleton.rb +25 -28
  26. data/lib/active_resource/threadsafe_attributes.rb +35 -31
  27. data/lib/active_resource/validations.rb +18 -15
  28. data/lib/active_resource/version.rb +6 -4
  29. data/lib/active_resource.rb +8 -7
  30. data/lib/activeresource.rb +3 -1
  31. metadata +41 -24
  32. data/README.rdoc +0 -231
  33. data/lib/active_resource/observing.rb +0 -31
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ActiveResource
4
+ class InheritingHash < Hash
5
+ def initialize(parent_hash = {})
6
+ # Default hash value must be nil, which allows fallback lookup on parent hash
7
+ super(nil)
8
+ @parent_hash = parent_hash
9
+ end
10
+
11
+ def [](key)
12
+ super || @parent_hash[key]
13
+ end
14
+ end
15
+ end
@@ -1,9 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActiveResource
2
4
  class LogSubscriber < ActiveSupport::LogSubscriber
3
5
  def request(event)
4
6
  result = event.payload[:result]
5
- info "#{event.payload[:method].to_s.upcase} #{event.payload[:request_uri]}"
6
- info "--> %d %s %d (%.1fms)" % [result.code, result.message, result.body.to_s.length, event.duration]
7
+
8
+ # When result is nil, the connection could not even be initiated
9
+ # with the server, so we log an internal synthetic error response (523).
10
+ code = result.try(:code) || 523 # matches CloudFlare's convention
11
+ message = result.try(:message) || "ActiveResource connection error"
12
+ body = result.try(:body) || ""
13
+
14
+ log_level_method = code.to_i < 400 ? :info : :error
15
+
16
+ send log_level_method, "#{event.payload[:method].to_s.upcase} #{event.payload[:request_uri]}"
17
+ send log_level_method, "--> %d %s %d (%.1fms)" % [code, message, body.to_s.length, event.duration]
7
18
  end
8
19
 
9
20
  def logger
@@ -12,4 +23,4 @@ module ActiveResource
12
23
  end
13
24
  end
14
25
 
15
- ActiveResource::LogSubscriber.attach_to :active_resource
26
+ ActiveResource::LogSubscriber.attach_to :active_resource
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "active_resource"
2
4
  require "rails"
3
5
 
@@ -6,20 +8,18 @@ module ActiveResource
6
8
  config.active_resource = ActiveSupport::OrderedOptions.new
7
9
 
8
10
  initializer "active_resource.set_configs" do |app|
9
- app.config.active_resource.each do |k,v|
10
- ActiveResource::Base.send "#{k}=", v
11
+ ActiveSupport.on_load(:active_resource) do
12
+ app.config.active_resource.each do |k, v|
13
+ send "#{k}=", v
14
+ end
11
15
  end
12
16
  end
13
17
 
14
- config.after_initialize do |app|
15
- ActiveSupport.on_load(:active_resource) do
16
- ActiveResource::Base.instantiate_observers
17
-
18
- ActionDispatch::Reloader.to_prepare do
19
- ActiveResource::Base.instantiate_observers
20
- end
18
+ initializer "active_resource.add_active_job_serializer" do |app|
19
+ if app.config.try(:active_job).try(:custom_serializers)
20
+ require "active_resource/active_job_serializer"
21
+ app.config.active_job.custom_serializers << ActiveResource::ActiveJobSerializer
21
22
  end
22
23
  end
23
24
  end
24
25
  end
25
-
@@ -1,5 +1,7 @@
1
- require 'active_support/core_ext/class/attribute'
2
- require 'active_support/core_ext/module/deprecation'
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support/core_ext/class/attribute"
4
+ require "active_support/core_ext/module/deprecation"
3
5
 
4
6
  module ActiveResource
5
7
  # = Active Resource reflection
@@ -25,7 +27,6 @@ module ActiveResource
25
27
 
26
28
 
27
29
  class AssociationReflection
28
-
29
30
  def initialize(macro, name, options)
30
31
  @macro, @name, @options = macro, name, options
31
32
  end
@@ -61,17 +62,17 @@ module ActiveResource
61
62
 
62
63
  # Returns the foreign_key for the macro.
63
64
  def foreign_key
64
- @foreign_key ||= self.options[:foreign_key] || "#{self.name.to_s.downcase}_id"
65
+ @foreign_key ||= derive_foreign_key
65
66
  end
66
67
 
67
68
  private
68
- def derive_class_name
69
- return (options[:class_name] ? options[:class_name].to_s : name.to_s).classify
70
- end
69
+ def derive_class_name
70
+ options[:class_name] ? options[:class_name].to_s.camelize : name.to_s.classify
71
+ end
71
72
 
72
- def derive_foreign_key
73
- return options[:foreign_key] ? options[:foreign_key].to_s : "#{name.to_s.downcase}_id"
74
- end
73
+ def derive_foreign_key
74
+ options[:foreign_key] ? options[:foreign_key].to_s : "#{name.to_s.downcase}_id"
75
+ end
75
76
  end
76
77
  end
77
78
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActiveResource # :nodoc:
2
4
  class Schema # :nodoc:
3
5
  # attributes can be known to be one of these types. They are easy to
@@ -29,8 +31,8 @@ module ActiveResource # :nodoc:
29
31
 
30
32
  the_type = type.to_s
31
33
  # TODO: add defaults
32
- #the_attr = [type.to_s]
33
- #the_attr << options[:default] if options.has_key? :default
34
+ # the_attr = [type.to_s]
35
+ # the_attr << options[:default] if options.has_key? :default
34
36
  @attrs[name.to_s] = the_type
35
37
  self
36
38
  end
@@ -45,7 +47,8 @@ module ActiveResource # :nodoc:
45
47
  # attr_names.each { |name| attribute(name, 'string', options) }
46
48
  # end
47
49
  class_eval <<-EOV, __FILE__, __LINE__ + 1
48
- def #{attr_type.to_s}(*args)
50
+ # frozen_string_literal: true
51
+ def #{attr_type}(*args)
49
52
  options = args.extract_options!
50
53
  attr_names = args
51
54
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActiveResource
2
4
  module Singleton
3
5
  extend ActiveSupport::Concern
@@ -60,20 +62,19 @@ module ActiveResource
60
62
  #
61
63
  # Inventory.find
62
64
  # # => raises ResourceNotFound
63
- def find(options={})
65
+ def find(options = {})
64
66
  find_singleton(options)
65
67
  end
66
68
 
67
69
  private
68
- # Find singleton resource
69
- def find_singleton(options)
70
- prefix_options, query_options = split_options(options[:params])
71
-
72
- path = singleton_path(prefix_options, query_options)
73
- resp = self.format.decode(self.connection.get(path, self.headers).body)
74
- instantiate_record(resp, prefix_options)
75
- end
76
-
70
+ # Find singleton resource
71
+ def find_singleton(options)
72
+ prefix_options, query_options = split_options(options[:params])
73
+
74
+ path = singleton_path(prefix_options, query_options)
75
+ resp = self.format.decode(self.connection.get(path, self.headers).body)
76
+ instantiate_record(resp, prefix_options)
77
+ end
77
78
  end
78
79
  # Deletes the resource from the remote service.
79
80
  #
@@ -87,28 +88,24 @@ module ActiveResource
87
88
 
88
89
 
89
90
  protected
90
-
91
- # Update the resource on the remote service
92
- def update
93
- connection.put(singleton_path(prefix_options), encode, self.class.headers).tap do |response|
94
- load_attributes_from_response(response)
91
+ # Update the resource on the remote service
92
+ def update
93
+ connection.put(singleton_path(prefix_options), encode, self.class.headers).tap do |response|
94
+ load_attributes_from_response(response)
95
+ end
95
96
  end
96
- end
97
97
 
98
- # Create (i.e. \save to the remote service) the \new resource.
99
- def create
100
- connection.post(singleton_path, encode, self.class.headers).tap do |response|
101
- self.id = id_from_response(response)
102
- load_attributes_from_response(response)
98
+ # Create (i.e. \save to the remote service) the \new resource.
99
+ def create
100
+ connection.post(singleton_path, encode, self.class.headers).tap do |response|
101
+ self.id = id_from_response(response)
102
+ load_attributes_from_response(response)
103
+ end
103
104
  end
104
- end
105
105
 
106
106
  private
107
-
108
- def singleton_path(options = nil)
109
- self.class.singleton_path(options || prefix_options)
110
- end
111
-
107
+ def singleton_path(options = nil)
108
+ self.class.singleton_path(options || prefix_options)
109
+ end
112
110
  end
113
-
114
111
  end
@@ -1,3 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support/core_ext/object/duplicable"
4
+
1
5
  module ThreadsafeAttributes
2
6
  def self.included(klass)
3
7
  klass.extend(ClassMethods)
@@ -5,57 +9,57 @@ module ThreadsafeAttributes
5
9
 
6
10
  module ClassMethods
7
11
  def threadsafe_attribute(*attrs)
12
+ main_thread = Thread.main # remember this, because it could change after forking
13
+
8
14
  attrs.each do |attr|
9
15
  define_method attr do
10
- get_threadsafe_attribute(attr)
16
+ get_threadsafe_attribute(attr, main_thread)
11
17
  end
12
18
 
13
19
  define_method "#{attr}=" do |value|
14
- set_threadsafe_attribute(attr, value)
20
+ set_threadsafe_attribute(attr, value, main_thread)
15
21
  end
16
22
 
17
23
  define_method "#{attr}_defined?" do
18
- threadsafe_attribute_defined?(attr)
24
+ threadsafe_attribute_defined?(attr, main_thread)
19
25
  end
20
26
  end
21
27
  end
22
28
  end
23
29
 
24
30
  private
31
+ def get_threadsafe_attribute(name, main_thread)
32
+ if threadsafe_attribute_defined_by_thread?(name, Thread.current)
33
+ get_threadsafe_attribute_by_thread(name, Thread.current)
34
+ elsif threadsafe_attribute_defined_by_thread?(name, main_thread)
35
+ value = get_threadsafe_attribute_by_thread(name, main_thread)
36
+ value = value.dup if value.duplicable?
37
+ set_threadsafe_attribute_by_thread(name, value, Thread.current)
38
+ value
39
+ end
40
+ end
25
41
 
26
- def get_threadsafe_attribute(name)
27
- if threadsafe_attribute_defined_by_thread?(name, Thread.current)
28
- get_threadsafe_attribute_by_thread(name, Thread.current)
29
- elsif threadsafe_attribute_defined_by_thread?(name, Thread.main)
30
- value = get_threadsafe_attribute_by_thread(name, Thread.main)
31
- value = value.dup if value
42
+ def set_threadsafe_attribute(name, value, main_thread)
32
43
  set_threadsafe_attribute_by_thread(name, value, Thread.current)
33
- value
44
+ unless threadsafe_attribute_defined_by_thread?(name, main_thread)
45
+ set_threadsafe_attribute_by_thread(name, value, main_thread)
46
+ end
34
47
  end
35
- end
36
48
 
37
- def set_threadsafe_attribute(name, value)
38
- set_threadsafe_attribute_by_thread(name, value, Thread.current)
39
- unless threadsafe_attribute_defined_by_thread?(name, Thread.main)
40
- set_threadsafe_attribute_by_thread(name, value, Thread.main)
49
+ def threadsafe_attribute_defined?(name, main_thread)
50
+ threadsafe_attribute_defined_by_thread?(name, Thread.current) || ((Thread.current != main_thread) && threadsafe_attribute_defined_by_thread?(name, main_thread))
41
51
  end
42
- end
43
52
 
44
- def threadsafe_attribute_defined?(name)
45
- threadsafe_attribute_defined_by_thread?(name, Thread.current) || ((Thread.current != Thread.main) && threadsafe_attribute_defined_by_thread?(name, Thread.main))
46
- end
47
-
48
- def get_threadsafe_attribute_by_thread(name, thread)
49
- thread["active.resource.#{name}.#{self.object_id}"]
50
- end
51
-
52
- def set_threadsafe_attribute_by_thread(name, value, thread)
53
- thread["active.resource.#{name}.#{self.object_id}.defined"] = true
54
- thread["active.resource.#{name}.#{self.object_id}"] = value
55
- end
53
+ def get_threadsafe_attribute_by_thread(name, thread)
54
+ thread.thread_variable_get "active.resource.#{name}.#{self.object_id}"
55
+ end
56
56
 
57
- def threadsafe_attribute_defined_by_thread?(name, thread)
58
- thread["active.resource.#{name}.#{self.object_id}.defined"]
59
- end
57
+ def set_threadsafe_attribute_by_thread(name, value, thread)
58
+ thread.thread_variable_set "active.resource.#{name}.#{self.object_id}.defined", true
59
+ thread.thread_variable_set "active.resource.#{name}.#{self.object_id}", value
60
+ end
60
61
 
62
+ def threadsafe_attribute_defined_by_thread?(name, thread)
63
+ thread.thread_variable_get "active.resource.#{name}.#{self.object_id}.defined"
64
+ end
61
65
  end
@@ -1,8 +1,10 @@
1
- require 'active_support/core_ext/array/wrap'
2
- require 'active_support/core_ext/object/blank'
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support/core_ext/array/wrap"
4
+ require "active_support/core_ext/object/blank"
3
5
 
4
6
  module ActiveResource
5
- class ResourceInvalid < ClientError #:nodoc:
7
+ class ResourceInvalid < ClientError # :nodoc:
6
8
  end
7
9
 
8
10
  # Active Resource validation is reported to and from this object, which is used by Base#save
@@ -20,7 +22,7 @@ module ActiveResource
20
22
  add humanized_attributes[attr_name], message[(attr_name.size + 1)..-1]
21
23
  end
22
24
  end
23
- self[:base] << message if attr_message.nil?
25
+ add(:base, message) if attr_message.nil?
24
26
  end
25
27
  end
26
28
 
@@ -33,16 +35,16 @@ module ActiveResource
33
35
  def from_hash(messages, save_cache = false)
34
36
  clear unless save_cache
35
37
 
36
- messages.each do |(key,errors)|
38
+ messages.each do |(key, errors)|
37
39
  errors.each do |error|
38
40
  if @base.known_attributes.include?(key)
39
41
  add key, error
40
- elsif key == 'base'
41
- self[:base] << error
42
+ elsif key == "base"
43
+ add(:base, error)
42
44
  else
43
45
  # reporting an error on an attribute not in attributes
44
46
  # format and add them to base
45
- self[:base] << "#{key.humanize} #{error}"
47
+ add(:base, "#{key.humanize} #{error}")
46
48
  end
47
49
  end
48
50
  end
@@ -51,11 +53,11 @@ module ActiveResource
51
53
  # Grabs errors from a json response.
52
54
  def from_json(json, save_cache = false)
53
55
  decoded = ActiveSupport::JSON.decode(json) || {} rescue {}
54
- if decoded.kind_of?(Hash) && (decoded.has_key?('errors') || decoded.empty?)
55
- errors = decoded['errors'] || {}
56
+ if decoded.kind_of?(Hash) && (decoded.has_key?("errors") || decoded.empty?)
57
+ errors = decoded["errors"] || {}
56
58
  if errors.kind_of?(Array)
57
59
  # 3.2.1-style with array of strings
58
- ActiveSupport::Deprecation.warn('Returning errors as an array of strings is deprecated.')
60
+ ActiveSupport::Deprecation.warn("Returning errors as an array of strings is deprecated.")
59
61
  from_array errors, save_cache
60
62
  else
61
63
  # 3.2.2+ style
@@ -70,7 +72,7 @@ module ActiveResource
70
72
 
71
73
  # Grabs errors from an XML response.
72
74
  def from_xml(xml, save_cache = false)
73
- array = Array.wrap(Hash.from_xml(xml)['errors']['error']) rescue []
75
+ array = Array.wrap(Hash.from_xml(xml)["errors"]["error"]) rescue []
74
76
  from_array array, save_cache
75
77
  end
76
78
  end
@@ -100,12 +102,13 @@ module ActiveResource
100
102
  include ActiveModel::Validations
101
103
 
102
104
  included do
103
- alias_method_chain :save, :validation
105
+ alias_method :save_without_validation, :save
106
+ alias_method :save, :save_with_validation
104
107
  end
105
108
 
106
109
  # Validate a resource and save (POST) it to the remote web service.
107
110
  # If any local validations fail - the save (POST) will not be attempted.
108
- def save_with_validation(options={})
111
+ def save_with_validation(options = {})
109
112
  perform_validation = options[:validate] != false
110
113
 
111
114
  # clear the remote validations so they don't interfere with the local
@@ -130,7 +133,7 @@ module ActiveResource
130
133
 
131
134
  # Loads the set of remote errors into the object's Errors based on the
132
135
  # content-type of the error-block received.
133
- def load_remote_errors(remote_errors, save_cache = false ) #:nodoc:
136
+ def load_remote_errors(remote_errors, save_cache = false) # :nodoc:
134
137
  case self.class.format
135
138
  when ActiveResource::Formats[:xml]
136
139
  errors.from_xml(remote_errors.response.body, save_cache)
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActiveResource
2
- module VERSION #:nodoc:
3
- MAJOR = 4
4
- MINOR = 1
4
+ module VERSION # :nodoc:
5
+ MAJOR = 6
6
+ MINOR = 0
5
7
  TINY = 0
6
8
  PRE = nil
7
9
 
8
- STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
10
+ STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
9
11
  end
10
12
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # Copyright (c) 2006-2012 David Heinemeier Hansson
3
5
  #
@@ -21,10 +23,10 @@
21
23
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
24
  #++
23
25
 
24
- require 'active_support'
25
- require 'active_model'
26
- require 'active_resource/exceptions'
27
- require 'active_resource/version'
26
+ require "active_support"
27
+ require "active_model"
28
+ require "active_resource/exceptions"
29
+ require "active_resource/version"
28
30
 
29
31
  module ActiveResource
30
32
  extend ActiveSupport::Autoload
@@ -35,12 +37,11 @@ module ActiveResource
35
37
  autoload :CustomMethods
36
38
  autoload :Formats
37
39
  autoload :HttpMock
38
- autoload :Observing
39
40
  autoload :Schema
40
41
  autoload :Singleton
42
+ autoload :InheritingHash
41
43
  autoload :Validations
42
44
  autoload :Collection
43
45
  end
44
46
 
45
- require 'active_resource/railtie' if defined? Rails
46
-
47
+ require "active_resource/railtie" if defined?(Rails.application)
@@ -1 +1,3 @@
1
- require 'active_resource'
1
+ # frozen_string_literal: true
2
+
3
+ require "active_resource"
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activeresource
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-10 00:00:00.000000000 Z
11
+ date: 2022-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4.0'
19
+ version: '6.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: '4.0'
26
+ version: '6.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activemodel
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '4.0'
33
+ version: '6.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '4.0'
40
+ version: '6.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rails-observers
42
+ name: activemodel-serializers-xml
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.1.2
47
+ version: '1.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.1.2
54
+ version: '1.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -80,16 +80,31 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.13.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: rexml
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: REST on Rails. Wrap your RESTful web app with Ruby classes and work with
84
98
  them like Active Record models.
85
99
  email: david@loudthinking.com
86
100
  executables: []
87
101
  extensions: []
88
- extra_rdoc_files:
89
- - README.rdoc
102
+ extra_rdoc_files: []
90
103
  files:
91
- - README.rdoc
104
+ - MIT-LICENSE
105
+ - README.md
92
106
  - lib/active_resource.rb
107
+ - lib/active_resource/active_job_serializer.rb
93
108
  - lib/active_resource/associations.rb
94
109
  - lib/active_resource/associations/builder/association.rb
95
110
  - lib/active_resource/associations/builder/belongs_to.rb
@@ -105,8 +120,8 @@ files:
105
120
  - lib/active_resource/formats/json_format.rb
106
121
  - lib/active_resource/formats/xml_format.rb
107
122
  - lib/active_resource/http_mock.rb
123
+ - lib/active_resource/inheriting_hash.rb
108
124
  - lib/active_resource/log_subscriber.rb
109
- - lib/active_resource/observing.rb
110
125
  - lib/active_resource/railtie.rb
111
126
  - lib/active_resource/reflection.rb
112
127
  - lib/active_resource/schema.rb
@@ -118,26 +133,28 @@ files:
118
133
  homepage: http://www.rubyonrails.org
119
134
  licenses:
120
135
  - MIT
121
- metadata: {}
136
+ metadata:
137
+ bug_tracker_uri: https://github.com/rails/activeresource/issues
138
+ changelog_uri: https://github.com/rails/activeresource/releases/tag/v6.0.0
139
+ documentation_uri: http://rubydoc.info/gems/activeresource
140
+ source_code_uri: https://github.com/rails/activeresource/tree/v6.0.0
141
+ rubygems_mfa_required: 'true'
122
142
  post_install_message:
123
- rdoc_options:
124
- - "--main"
125
- - README.rdoc
143
+ rdoc_options: []
126
144
  require_paths:
127
145
  - lib
128
146
  required_ruby_version: !ruby/object:Gem::Requirement
129
147
  requirements:
130
148
  - - ">="
131
149
  - !ruby/object:Gem::Version
132
- version: 1.9.3
150
+ version: 2.6.0
133
151
  required_rubygems_version: !ruby/object:Gem::Requirement
134
152
  requirements:
135
153
  - - ">="
136
154
  - !ruby/object:Gem::Version
137
155
  version: '0'
138
156
  requirements: []
139
- rubyforge_project:
140
- rubygems_version: 2.5.1
157
+ rubygems_version: 3.2.32
141
158
  signing_key:
142
159
  specification_version: 4
143
160
  summary: REST modeling framework (part of Rails).