Class: Tocer::Transformers::Finder

Inherits:
Object
  • Object
show all
Defined in:
lib/tocer/transformers/finder.rb

Overview

Finds appropriate header transformer for matching pattern.

Constant Summary collapse

TRANSFORMERS =
{/\[.+\]\(.+\)/ => Transformers::Link, /.*/ => Transformers::Text}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(transformers: TRANSFORMERS) ⇒ Finder

Returns a new instance of Finder.



9
10
11
# File 'lib/tocer/transformers/finder.rb', line 9

def initialize transformers: TRANSFORMERS
  @transformers = transformers
end

Instance Method Details

#call(markdown) ⇒ Object



13
14
15
16
17
# File 'lib/tocer/transformers/finder.rb', line 13

def call markdown
  transformers.find do |pattern, transformer|
    break transformer.new markdown if pattern.match? markdown
  end
end