class Resourcey::FilterProcessor
Constants
- ALLOWED_OPTIONS
Attributes
block[R]
name[R]
opts[R]
Public Class Methods
new(name, opts = {}, &block)
click to toggle source
# File lib/resourcey/filter_processor.rb, line 7 def initialize(name, opts = {}, &block) @name = name.to_s @opts = opts @block = block validate_options! end
Public Instance Methods
apply(permitted_param, scope)
click to toggle source
# File lib/resourcey/filter_processor.rb, line 15 def apply(permitted_param, scope) filter_value = parse_filter_value(permitted_param) block.call(filter_value, scope) end
Private Instance Methods
parse_filter_value(permitted_param)
click to toggle source
# File lib/resourcey/filter_processor.rb, line 24 def parse_filter_value(permitted_param) return permitted_param unless opts[:multivalue] permitted_param.split(',') end
validate_options!()
click to toggle source
# File lib/resourcey/filter_processor.rb, line 29 def validate_options! invalid_option = opts.keys.find { |option| ALLOWED_OPTIONS.exclude? option } return true if invalid_option.nil? raise Errors::OptionNotAllowed.new(invalid_option) end