Module: Squirrell::InstanceMethods
- Defined in:
- lib/squirrell/instance_methods.rb
Overview
Instance methods for Squirrell objects.
Instance Method Summary collapse
-
#arel ⇒ Object
Override this method to do arel.
-
#finder ⇒ Object
Override this method to skip SQL execution.
- #initialize(args = {}) ⇒ Object
-
#process(results) ⇒ Object
Override this method to process results after query execution.
-
#raw_sql ⇒ Object
Override this method to do raw_sql.
Instance Method Details
#arel ⇒ Object
Override this method to do arel. Note: If you’ve overridden raw_sql, it won’t work.
13 14 15 |
# File 'lib/squirrell/instance_methods.rb', line 13 def arel nil end |
#finder ⇒ Object
Override this method to skip SQL execution.
18 19 20 |
# File 'lib/squirrell/instance_methods.rb', line 18 def finder nil end |
#initialize(args = {}) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# 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 |
#process(results) ⇒ Object
Override this method to process results after query execution.
23 24 25 |
# File 'lib/squirrell/instance_methods.rb', line 23 def process(results) results end |
#raw_sql ⇒ Object
Override this method to do raw_sql.
5 6 7 8 9 |
# 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 |