module Squirrell::ClassMethods

Class methods for Squirrell objects.

Public Instance Methods

find(args = {}) click to toggle source
# File lib/squirrell/class_methods.rb, line 14
def find(args = {})
  do_query(new(args))
end
permits(*args) click to toggle source
# File lib/squirrell/class_methods.rb, line 9
def permits(*args)
  Squirrell.permits[self] = args
  define_readers args
end
requires(*args) click to toggle source
# File lib/squirrell/class_methods.rb, line 4
def requires(*args)
  Squirrell.requires[self] = args
  define_readers args
end

Private Instance Methods

define_readers(args) click to toggle source
# File lib/squirrell/class_methods.rb, line 25
def define_readers(args)
  args.each do |arg|
    attr_reader arg
  end
end
do_query(object) click to toggle source
# File lib/squirrell/class_methods.rb, line 20
def do_query(object)
  result = object.finder || Squirrell.executor.call(object.raw_sql)
  object.process(result)
end