class Brita::ScopeHandler

Public Class Methods

new(param) click to toggle source
# File lib/brita/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/brita/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/brita/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/brita/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