module GreyscaleRecord::Instanceable

Public Class Methods

new( attrs = {} ) click to toggle source

public init really doesn't make sense for a read-only interface

# File lib/greyscale_record/instanceable.rb, line 18
def initialize( attrs = {} )
  @attributes = self.class.__properties.merge( attrs ).with_indifferent_access
end

Public Instance Methods

method_missing( method, *args, &block ) click to toggle source
# File lib/greyscale_record/instanceable.rb, line 7
def method_missing( method, *args, &block )
  if @attributes.has_key? method
    method = @attributes[method]
  else
    raise GreyscaleRecord::Errors::InvalidFieldError, "#{self.class}:#{@attributes[:id]}: Invalid field: '#{method}'"
  end
end