Sha256: 29f2cf4ba285439b4116b4b679f79bdf9a6c74f3c6130bf0f15d0b26d506b372
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
# Based on https://github.com/josh/ruby-coffee-script require 'execjs' require 'pathname' module HandlebarsAssets class Handlebars class << self def precompile(*args) context.call('Handlebars.precompile', *args) end protected attr_writer :source def append_patch(patch_file) self.source += patch_source(patch_file) end def apply_patches_to_source if HandlebarsAssets::Config.patch_files.any? HandlebarsAssets::Config.patch_files.each do |patch_file| append_patch(patch_file) end end # HACK/workaround because of invalid wrapper by handlebars v3.0.0 self.source += """if (typeof window === 'undefined') { this.window = {}; }""" source end def context @context ||= ExecJS.compile(apply_patches_to_source) end def source @source ||= path.read end def patch_path @patch_path ||= Pathname(HandlebarsAssets::Config.patch_path) end def patch_source(patch_file) patch_path.join(patch_file).read end def path @path ||= assets_path.join(HandlebarsAssets::Config.compiler) end def assets_path @assets_path ||= Pathname(HandlebarsAssets::Config.compiler_path) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
handlebars_assets-0.20.0 | lib/handlebars_assets/handlebars.rb |