Class: Fluoride::Analyzer::PatternCollapser

Inherits:
Object
  • Object
show all
Defined in:
lib/fluoride-analyzer/pattern-collapser.rb

Instance Method Summary collapse

Constructor Details

#initialize(pattern, methods_hash) ⇒ PatternCollapser

Returns a new instance of PatternCollapser.



3
4
5
6
# File 'lib/fluoride-analyzer/pattern-collapser.rb', line 3

def initialize(pattern, methods_hash)
  @pattern = pattern
  @methods_hash = methods_hash
end

Instance Method Details

#erase_listObject



8
9
10
# File 'lib/fluoride-analyzer/pattern-collapser.rb', line 8

def erase_list
  %w{ format }
end

#param_letname_mapObject



18
19
20
# File 'lib/fluoride-analyzer/pattern-collapser.rb', line 18

def param_letname_map
  { :id => :model_id }
end

#params_fieldsObject



22
23
24
25
26
27
28
# File 'lib/fluoride-analyzer/pattern-collapser.rb', line 22

def params_fields
  @methods_hash.values.first.values.first.first['path_params'].keys.reject do |key|
    key == :format
  end.map do |name|
    param_letname_map.fetch(name, name)
  end
end

#patternObject



12
13
14
15
16
# File 'lib/fluoride-analyzer/pattern-collapser.rb', line 12

def pattern
  erase_list.inject(@pattern) do |pattern, erase|
    pattern.sub(/\(.:#{erase}\)/,'')
  end
end