class Skim::Template

Public Class Methods

call(input) click to toggle source
# File lib/skim/template.rb, line 9
def self.call(input)
  source   = input[:data]
  context  = input[:environment].context_class.new(input)

  result = new { source }.render
  context.metadata.merge(data: result)
end
skim_src() click to toggle source
# File lib/skim/template.rb, line 41
def self.skim_src
  @@skim_src ||=
    File.read(File.expand_path("../../../vendor/assets/javascripts/skim.js.coffee", __FILE__))
end

Public Instance Methods

coffee_script_src() click to toggle source
# File lib/skim/template.rb, line 17
    def coffee_script_src

      engine = Engine.new(options.merge({
        :streaming => false, # Overwrite option: No streaming support in Tilt
        :file => eval_file,
        :indent => 2
      }))
      src = engine.call(data)
<<-SRC
#{self.class.skim_src unless engine.options[:use_asset]}
return (context = {}) ->
  (context.Skim || Skim).withContext.call {}, context, ->
#{src}
SRC
    end
evaluate(scope, locals, &block) click to toggle source
# File lib/skim/template.rb, line 37
def evaluate(scope, locals, &block)
  precompiled_template
end
prepare() click to toggle source
# File lib/skim/template.rb, line 33
def prepare
  @src = CoffeeScript.compile(coffee_script_src)
end