Module: ConvenientService::Common::Plugins::HasAttributes::UsingActiveModelAttributes::Patches
- Defined in:
- lib/convenient_service/common/plugins/has_attributes/using_active_model_attributes/patches/active_model_attributes.rb
Overview
TODO: Remove this patch when Rails updates def initialize(*)
to def initialize(*args, **kwargs, &block)
.
https://github.com/rails/rails/blob/3872bc0e54d32e8bf3a6299b0bfe173d94b072fc/activemodel/lib/active_model/attributes.rb#L78
Constant Summary collapse
- ActiveModelAttributes =
Copy of
ActiveModel::Attributes
.-
https://api.rubyonrails.org/classes/ActiveModel/Attributes/ClassMethods.html
-
https://github.com/rails/rails/blob/v7.0.0/activemodel/lib/active_model/attributes.rb
-
https://github.com/rails/rails/blob/v6.0.0/activemodel/lib/active_model/attributes.rb
-
https://github.com/rails/rails/blob/v5.2.0/activemodel/lib/active_model/attributes.rb
-
::ActiveModel::Attributes.dup.tap do |mod| mod.module_eval do ## # NOTE: Overrides `initialize` since current Rails implementation can not accept kwargs. # # TODO: Open a PR to Rails. # def initialize(*args, **kwargs, &block) ## # IMPORTANT: Should be kept in sync with: # https://github.com/rails/rails/blob/3872bc0e54d32e8bf3a6299b0bfe173d94b072fc/activemodel/lib/active_model/attributes.rb#L78 # @attributes = self.class._default_attributes.deep_dup super end end end