Class: Fluoride::Analyzer::PatternCollapser
- Inherits:
-
Object
- Object
- Fluoride::Analyzer::PatternCollapser
- Defined in:
- lib/fluoride-analyzer/pattern-collapser.rb
Instance Method Summary collapse
- #erase_list ⇒ Object
-
#initialize(pattern, methods_hash) ⇒ PatternCollapser
constructor
A new instance of PatternCollapser.
- #param_letname_map ⇒ Object
- #params_fields ⇒ Object
- #pattern ⇒ Object
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_list ⇒ Object
8 9 10 |
# File 'lib/fluoride-analyzer/pattern-collapser.rb', line 8 def erase_list %w{ format } end |
#param_letname_map ⇒ Object
18 19 20 |
# File 'lib/fluoride-analyzer/pattern-collapser.rb', line 18 def param_letname_map { :id => :model_id } end |
#params_fields ⇒ Object
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 |
#pattern ⇒ Object
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 |