module ActiveForm::Form::ClassMethods

Attributes

main_class[RW]
main_model[RW]
reflected_class[RW]

Public Instance Methods

alias_property(new_method, old_method) click to toggle source
# File lib/activeform-rails/form.rb, line 43
def alias_property(new_method, old_method)
  alias_method new_method.to_sym, old_method.to_sym
  alias_method "#{new_method}=".to_sym, "#{old_method}=".to_sym
end
i18n_scope() click to toggle source
# File lib/activeform-rails/form.rb, line 23
def i18n_scope
  :activerecord
end
models() click to toggle source
# File lib/activeform-rails/form.rb, line 27
def models
  @models ||= []
end
properties(*attributes, prefix: false, on: nil) click to toggle source
# File lib/activeform-rails/form.rb, line 15
def properties(*attributes, prefix: false, on: nil)
  if on.nil?
    attr_accessor *attributes
  else
    delegate_to_model(attributes, on, prefix)
  end
end

Private Instance Methods

add_accessor(model_name) click to toggle source
# File lib/activeform-rails/form.rb, line 54
def add_accessor(model_name)
  attr_accessor model_name
end
add_model_on_list(model_name) click to toggle source
# File lib/activeform-rails/form.rb, line 50
def add_model_on_list(model_name)
  models << model_name unless models.include?(model_name)
end
assign_delegators(attributes, model_name, prefix) click to toggle source
# File lib/activeform-rails/form.rb, line 58
def assign_delegators(attributes, model_name, prefix)
  attributes.each do |attribute|
    delegate attribute, to: model_name, prefix: prefix
    delegate "#{attribute}=", to: model_name, prefix: prefix
  end
end
delegate_to_model(attributes, on, prefix) click to toggle source
# File lib/activeform-rails/form.rb, line 65
def delegate_to_model(attributes, on, prefix)
  assign_delegators(attributes, on, prefix)
  add_model_on_list(on)
  add_accessor(on)
end