Sha256: 34d4e2bc1d7f378adae6d753de9d997f23ebef3875ee3c5a0fff234373159cf8

Contents?: true

Size: 703 Bytes

Versions: 1

Compression:

Stored size: 703 Bytes

Contents

#
# See http://railscasts.com/episodes/219-active-model
#
class ValidateableModel
  
  # Mixin validation
  include ActiveModel::Validations
  include ActiveModel::Conversion
  extend ActiveModel::Naming

  def self.attr_accessor(*vars)
    @attributes ||= []
    @attributes.concat( vars )
    super
  end

  def self.attributes
    @attributes
  end

  # Initializer
  def initialize(attributes={})
    attributes && attributes.each do |name, value|
      send("#{name}=", value) if respond_to? name.to_sym
    end
  end

  # Overload persisted?
  def persisted?
    false
  end

  # Inspect
  def self.inspect
    "#<#{ self.to_s} #{ self.attributes.collect{ |e| ":#{ e }" }.join(', ') }>"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
auxiliary_addons-0.5.7 lib/auxiliary_addons/validateable_model.rb