module SuperForm

Constants

VERSION

Public Class Methods

callbacks() click to toggle source
# File lib/super_form.rb, line 30
def self.callbacks
  Proc.new do
    alias_method :ar_valid?, :valid?

    def valid?
      run_callbacks :validation do
        ar_valid?
      end
    end

    define_model_callbacks :validation, :save
  end
end
constructor() click to toggle source
# File lib/super_form.rb, line 19
def self.constructor
  Proc.new do
    alias_method :original_initializer, :initialize

    def initialize(*args)
      setup
      original_initializer(*args)
    end
  end
end
new(*args) click to toggle source
# File lib/super_form.rb, line 23
def initialize(*args)
  setup
  original_initializer(*args)
end

Public Instance Methods

persist!() click to toggle source
# File lib/super_form.rb, line 65
def persist!; end
persisted?() click to toggle source
# File lib/super_form.rb, line 50
def persisted?
  false
end
save() click to toggle source
# File lib/super_form.rb, line 54
def save
  if valid?
    run_callbacks :save do
      persist!
    end
    true
  else
    false
  end
end
setup() click to toggle source
# File lib/super_form.rb, line 44
def setup
  if self.class.setup
    instance_eval(&self.class.setup)
  end
end
valid?() click to toggle source
# File lib/super_form.rb, line 34
def valid?
  run_callbacks :validation do
    ar_valid?
  end
end