| Class | Tilt::MarkabyTemplate |
| In: |
lib/tilt.rb
|
| Parent: | Template |
Markaby github.com/markaby/markaby
# File lib/tilt.rb, line 865
865: def self.builder_class
866: @builder_class ||= Class.new(Markaby::Builder) do
867: def __capture_markaby_tilt__(&block)
868: __run_markaby_tilt__ do
869: text capture(&block)
870: end
871: end
872: end
873: end
# File lib/tilt.rb, line 867
867: def __capture_markaby_tilt__(&block)
868: __run_markaby_tilt__ do
869: text capture(&block)
870: end
871: end
# File lib/tilt.rb, line 883
883: def evaluate(scope, locals, &block)
884: builder = self.class.builder_class.new({}, scope)
885: builder.locals = locals
886:
887: if data.kind_of? Proc
888: (class << builder; self end).send(:define_method, :__run_markaby_tilt__, &data)
889: else
890: builder.instance_eval "def __run_markaby_tilt__\n\#{data}\nend\n", __FILE__, __LINE__
891: end
892:
893: if block
894: builder.__capture_markaby_tilt__(&block)
895: else
896: builder.__run_markaby_tilt__
897: end
898:
899: builder.to_s
900: end