Class: ActiveModel::DeprecationHandlingMessageHash

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/active_model/errors.rb

Instance Method Summary collapse

Constructor Details

#initialize(errors) ⇒ DeprecationHandlingMessageHash

Returns a new instance of DeprecationHandlingMessageHash.



600
601
602
603
# File 'lib/active_model/errors.rb', line 600

def initialize(errors)
  @errors = errors
  super(prepare_content)
end

Instance Method Details

#[]=(attribute, value) ⇒ Object



605
606
607
608
609
610
611
612
613
614
# File 'lib/active_model/errors.rb', line 605

def []=(attribute, value)
  ActiveSupport::Deprecation.warn("Calling `[]=` to an ActiveModel::Errors is deprecated. Please call `ActiveModel::Errors#add` instead.")

  @errors.delete(attribute)
  Array(value).each do |message|
    @errors.add(attribute, message)
  end

  __setobj__ prepare_content
end

#delete(attribute) ⇒ Object



616
617
618
619
620
# File 'lib/active_model/errors.rb', line 616

def delete(attribute)
  ActiveSupport::Deprecation.warn("Calling `delete` to an ActiveModel::Errors messages hash is deprecated. Please call `ActiveModel::Errors#delete` instead.")

  @errors.delete(attribute)
end