class Filterparams::ParamExtractor
Constants
- FILTER_MATCHES
Public Class Methods
new(params)
click to toggle source
# File lib/filterparams/param_extractor.rb, line 8 def initialize(params) @params = params end
Public Instance Methods
params()
click to toggle source
# File lib/filterparams/param_extractor.rb, line 12 def params match_hashes.map { |map| generate_param map } end
params_hash()
click to toggle source
# File lib/filterparams/param_extractor.rb, line 16 def params_hash filter_args = params.map do |parameter| [parameter.identification, parameter] end.flatten Hash[*filter_args] end
Private Instance Methods
create_match_lookup(map)
click to toggle source
# File lib/filterparams/param_extractor.rb, line 50 def create_match_lookup(map) match = map[:match] { name: match['name'], value: map[:value], filter: match['filter'], alias: match['alias'] } end
generate_param(param_hash)
click to toggle source
# File lib/filterparams/param_extractor.rb, line 25 def generate_param(param_hash) Filterparams::Parameter.new(param_hash[:name], param_hash) end
match_hashes()
click to toggle source
# File lib/filterparams/param_extractor.rb, line 29 def match_hashes matches = @params.map do |key, value| if value.is_a? Array value = if value.size > 0 value[0] else nil end end { match: FILTER_MATCHES.match(key), value: value } end matches = matches.reject { |map| map[:match].nil? } matches.map do |map| create_match_lookup(map) end end