Class: ActivePStore::QueryMethods::WhereDecider
- Inherits:
-
Object
- Object
- ActivePStore::QueryMethods::WhereDecider
- Defined in:
- lib/active_pstore/query_methods.rb
Instance Method Summary collapse
- #decide(conditions, method) ⇒ Object
-
#initialize(scope) ⇒ WhereDecider
constructor
A new instance of WhereDecider.
Constructor Details
#initialize(scope) ⇒ WhereDecider
Returns a new instance of WhereDecider.
14 15 16 |
# File 'lib/active_pstore/query_methods.rb', line 14 def initialize(scope) @scope = scope end |
Instance Method Details
#decide(conditions, method) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/active_pstore/query_methods.rb', line 18 def decide(conditions, method) raise 'Illegal method error.' unless i(reject select).include? method return @scope if conditions.empty? conditions.each do |key, value| @scope = @scope.public_send(method) {|obj| case value when Array, Range value.include?(obj.public_send(key)) else obj.public_send(key) == value end } end ActivePStore::Collection.new(@scope) end |