Module: ActiveForm::Form

Defined in:
lib/activeform-rails/form.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



2
3
4
5
6
7
8
9
# File 'lib/activeform-rails/form.rb', line 2

def self.included(base)
  base.class_eval do
    extend ActiveModel::Naming
    include ActiveModel::Conversion
    include ActiveModel::Validations
  end
  base.extend ClassMethods
end

Instance Method Details

#fill_attributes(params) ⇒ Object



58
59
60
# File 'lib/activeform-rails/form.rb', line 58

def fill_attributes(params)
  assign_from_hash(params)
end

#initialize(attributes) ⇒ Object



54
55
56
# File 'lib/activeform-rails/form.rb', line 54

def initialize(attributes)
  assign_from_hash(attributes)
end

#main_modelObject



74
75
76
# File 'lib/activeform-rails/form.rb', line 74

def main_model
  send(self.class.main_model)
end

#save(&block) ⇒ Object



62
63
64
65
66
# File 'lib/activeform-rails/form.rb', line 62

def save(&block)
  valid?.tap do
    call_action_or_block(:save, &block)
  end
end

#save!(&block) ⇒ Object



68
69
70
71
72
# File 'lib/activeform-rails/form.rb', line 68

def save!(&block)
  ActiveRecord::Base.transaction do
    call_action_or_block(:save!, &block)
  end
end