class RailsFormObject::Base
Public Class Methods
as(name)
click to toggle source
# File lib/rails_form_object/base.rb, line 15 def self.as(name) define_method :model_name do ActiveModel::Name.new(self, nil, name.to_s) end end
attributes(*attr)
click to toggle source
# File lib/rails_form_object/base.rb, line 10 def self.attributes(*attr) attr_accessor(*attr) define_method(:stored_attributes) { attr } end
new(attributes)
click to toggle source
Calls superclass method
# File lib/rails_form_object/base.rb, line 26 def initialize(attributes) super(filtered_attributes(attributes)) end
Public Instance Methods
filtered_attributes(attributes)
click to toggle source
# File lib/rails_form_object/base.rb, line 21 def filtered_attributes(attributes) raise AttributesMustBeDefined unless respond_to? :stored_attributes attributes.select { |key, _value| stored_attributes.include?(key.to_sym) } end