class GreyscaleRecord::Relation

Public Class Methods

new( base, params ) click to toggle source
# File lib/greyscale_record/relation.rb, line 6
def initialize( base, params )
  @base   = base
  @params = params.dup.merge!( _table: @base.table_name )
end

Public Instance Methods

all() click to toggle source
# File lib/greyscale_record/relation.rb, line 19
def all
  @all ||= @base.data_store.find( @params.dup ).map do | result |
    @base.new result
  end
end
and( params ) click to toggle source
# File lib/greyscale_record/relation.rb, line 15
def and( params )
  self.class.new @base, @params.merge( params )
end
method_missing( method, *args, &block ) click to toggle source
# File lib/greyscale_record/relation.rb, line 25
def method_missing( method, *args, &block )
  all.send method, *args, &block
end
where( params ) click to toggle source
# File lib/greyscale_record/relation.rb, line 11
def where( params )
  self.class.new @base, @params.merge( params )
end