Class: Cornichon::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/cornichon/parser.rb

Class Method Summary collapse

Class Method Details

.parse(template) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/cornichon/parser.rb', line 4

def parse(template)
  template.gsub(/{{(.*?)}}|^(.*)\[\[(.*?)\]\]/) { |match|
    replacement = nil
    if $1
      replacement = handle_string $1.strip
    elsif $3
      replacement = get_array(call($3), $2.length)
      replacement.prepend($2) if replacement
    end

    if replacement
      replacement
    else
      match
    end
  }
end