class ActivePStore::QueryMethods::WhereDecider
Public Class Methods
new(scope)
click to toggle source
# File lib/active_pstore/query_methods.rb, line 14 def initialize(scope) @scope = scope end
Public Instance Methods
decide(conditions, method)
click to toggle source
# 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