Module: Jekyll::Minibundle::VariableTemplate::Generator

Defined in:
lib/jekyll/minibundle/variable_template.rb

Overview

Transforms array of tokens to Ruby interpolation string.

Idea adapted from Mustache's Generator.

Class Method Summary collapse

Class Method Details

.compile(tokens) ⇒ Object



128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/jekyll/minibundle/variable_template.rb', line 128

def self.compile(tokens)
  result = '"'

  tokens.each do |token|
    result +=
      if token.variable?
        %(#\{variables["#{escape_token(token.value)}"].to_s})
      else
        escape_token(token.value)
      end
  end

  result += '"'

  result
end

.escape_token(token) ⇒ Object



145
146
147
# File 'lib/jekyll/minibundle/variable_template.rb', line 145

def self.escape_token(token)
  token.inspect[1..-2]
end