class DigitalOpera::FormObject::Base

Attributes

fields[RW]

Public Class Methods

add_to_fields(field) click to toggle source
# File lib/digital_opera/form_object/base.rb, line 63
def self.add_to_fields(field)
  @fields = @fields || []
  @fields << field
end
field(*args, options) click to toggle source

Class Methods —————————-

# File lib/digital_opera/form_object/base.rb, line 47
def self.field(*args, options)
  if options.present? && !options.is_a?(Hash)
    args << options
  end

  args.each do |field|
    if options.is_a?(Hash) && options[:date] == true
      date_field(field)
    else
      send :attr_accessor, field
    end

    add_to_fields field
  end
end
new(h={}) click to toggle source
# File lib/digital_opera/form_object/base.rb, line 15
def initialize(h={})
  assign_attributes(h)
end

Public Instance Methods

assign_attributes(args) click to toggle source
# File lib/digital_opera/form_object/base.rb, line 31
def assign_attributes(args)
  args.each do |k,v|
    if respond_to?("#{k}=")
      send("#{k}=", v)
    end
  end
end
fields() click to toggle source
# File lib/digital_opera/form_object/base.rb, line 39
def fields
  self.class.ancestors.map do |a|
    a.fields if a.respond_to? :fields
  end.flatten.compact
end
persisted?() click to toggle source
# File lib/digital_opera/form_object/base.rb, line 19
def persisted?
  false
end
save() click to toggle source
# File lib/digital_opera/form_object/base.rb, line 23
def save
  if valid?
    persist!
  else
    false
  end
end