Module: Glim

Defined in:
lib/cache.rb,
lib/version.rb,
lib/commands.rb,
lib/exception.rb,
lib/liquid_ext.rb,
lib/local_server.rb

Defined Under Namespace

Modules: Commands, LiquidFilters, LiquidTags, LocalServer Classes: Cache, Error, LocalFileSystem

Constant Summary collapse

VERSION =
'0.1'

Class Method Summary collapse

Class Method Details

.preprocess_template(source) ⇒ Object



212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
# File 'lib/liquid_ext.rb', line 212

def self.preprocess_template(source)
  source = source.gsub(/({%-? include )([\w.\/-]+)(.*?)(-?%})/) do
    prefix, include, variables, suffix = $1, $2, $3, $4
    unless variables.strip.empty?
      variables = ', ' + variables.scan(/(\w+)=(.*?)(?=\s)/).map { |key, value| "include_#{key}: #{value}" }.join(', ') + ' '
    end

    "#{prefix}\"#{include}\"#{variables}#{suffix}"
  end

  source.gsub!(/({{-? include)\.(.*?}})/) { "#$1_#$2" }
  source.gsub!(/({%-? .+? include)\.(.*?%})/) { "#$1_#$2" }

  source
end