Module: ActiveForm::Mixins::AttributeMethods::ClassMethods

Defined in:
lib/active_form/mixins/attribute_methods.rb

Instance Method Summary collapse

Instance Method Details

#define_attributes(*attrs) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/active_form/mixins/attribute_methods.rb', line 22

def define_attributes(*attrs)
  attrs.push(:lang) unless self.element_attribute_names.include?(:lang)
  attrs.flatten.each do |attribute|      
    self.element_attribute_names += [attribute.to_sym]  
    define_method("#{attribute}=")  { |value| attributes[attribute] = value } unless instance_methods.include?("#{attribute}=")        
    define_method("#{attribute}")   { attributes[attribute] } unless instance_methods.include?("#{attribute}")
  end
end