module Squirrell::InstanceMethods
Instance methods for Squirrell
objects.
Public Class Methods
new(args = {})
click to toggle source
# File lib/squirrell/instance_methods.rb, line 27 def initialize(args = {}) return self if args.empty? Squirrell.requires[self.class].each do |k| unless args.keys.include? k fail MissingParameterError, "Missing required parameter: #{k}" end instance_variable_set "@#{k}", args.delete(k) end Squirrell.permits[self.class].each do |k| instance_variable_set "@#{k}", args.delete(k) if args.keys.include? k end fail UnusedParameter, "Unspecified parameters: #{args}" if args.any? end
Public Instance Methods
arel()
click to toggle source
Override this method to do arel. Note: If you've overridden raw_sql
, it won't work.
# File lib/squirrell/instance_methods.rb, line 13 def arel nil end
finder()
click to toggle source
Override this method to skip SQL execution.
# File lib/squirrell/instance_methods.rb, line 18 def finder nil end
process(results)
click to toggle source
Override this method to process results after query execution.
# File lib/squirrell/instance_methods.rb, line 23 def process(results) results end
raw_sql()
click to toggle source
Override this method to do raw_sql.
# File lib/squirrell/instance_methods.rb, line 5 def raw_sql sql = arel fail InvalidArelError unless sql.respond_to? :to_sql sql.to_sql end