Class: Filterparams::ParamExtractor

Inherits:
Object
  • Object
show all
Defined in:
lib/filterparams/param_extractor.rb

Constant Summary collapse

FILTER_MATCHES =
/filter\[param\]\[(?<name>\w+)\]
(\[(?<filter>\w+)\](\[(?<alias>\w+)\])?)?/x

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ ParamExtractor

Returns a new instance of ParamExtractor.



8
9
10
# File 'lib/filterparams/param_extractor.rb', line 8

def initialize(params)
  @params = params
end

Instance Method Details

#paramsObject



12
13
14
# File 'lib/filterparams/param_extractor.rb', line 12

def params
  match_hashes.map { |map| generate_param map }
end

#params_hashObject



16
17
18
19
20
21
# 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