| Class | Tilt::MarkabyTemplate |
| In: |
lib/tilt.rb
|
| Parent: | Template |
Markaby github.com/markaby/markaby
# File lib/tilt.rb, line 850
850: def self.builder_class
851: @builder_class ||= Class.new(Markaby::Builder) do
852: def __capture_markaby_tilt__(&block)
853: __run_markaby_tilt__ do
854: text capture(&block)
855: end
856: end
857: end
858: end
# File lib/tilt.rb, line 852
852: def __capture_markaby_tilt__(&block)
853: __run_markaby_tilt__ do
854: text capture(&block)
855: end
856: end
# File lib/tilt.rb, line 868
868: def evaluate(scope, locals, &block)
869: builder = self.class.builder_class.new({}, scope)
870: builder.locals = locals
871:
872: if data.kind_of? Proc
873: (class << builder; self end).send(:define_method, :__run_markaby_tilt__, &data)
874: else
875: builder.instance_eval "def __run_markaby_tilt__\n\#{data}\nend\n", __FILE__, __LINE__
876: end
877:
878: if block
879: builder.__capture_markaby_tilt__(&block)
880: else
881: builder.__run_markaby_tilt__
882: end
883:
884: builder.to_s
885: end