class Sift::ScopeHandler
Public Class Methods
new(param)
click to toggle source
# File lib/sift/scope_handler.rb, line 3 def initialize(param) @param = param end
Public Instance Methods
call(collection, value, params, scope_params)
click to toggle source
# File lib/sift/scope_handler.rb, line 7 def call(collection, value, params, scope_params) collection.public_send(@param.internal_name, *scope_parameters(value, params, scope_params)) end
mapped_scope_params(params, scope_params)
click to toggle source
# File lib/sift/scope_handler.rb, line 19 def mapped_scope_params(params, scope_params) scope_params.each_with_object({}) do |scope_param, hash| hash[scope_param] = params.fetch(scope_param) end end
scope_parameters(value, params, scope_params)
click to toggle source
# File lib/sift/scope_handler.rb, line 11 def scope_parameters(value, params, scope_params) if scope_params.empty? [value] else [value, mapped_scope_params(params, scope_params)] end end