| Class | Tilt::NokogiriTemplate |
| In: |
lib/tilt/nokogiri.rb
|
| Parent: | Template |
Nokogiri template implementation. See: nokogiri.org/
| DOCUMENT_HEADER | = | /^<\?xml version=\"1\.0\"\?>\n?/ |
# File lib/tilt/nokogiri.rb, line 10
10: def self.engine_initialized?
11: defined? ::Nokogiri
12: end
# File lib/tilt/nokogiri.rb, line 20
20: def evaluate(scope, locals)
21: if data.respond_to?(:to_str)
22: wrapper = proc { yield.sub(DOCUMENT_HEADER, "") } if block_given?
23: super(scope, locals, &wrapper)
24: else
25: ::Nokogiri::XML::Builder.new.tap(&data).to_xml
26: end
27: end
# File lib/tilt/nokogiri.rb, line 14
14: def initialize_engine
15: require_template_library 'nokogiri'
16: end
# File lib/tilt/nokogiri.rb, line 29
29: def precompiled_preamble(locals)
30: return super if locals.include? :xml
31: "xml = ::Nokogiri::XML::Builder.new { |xml| }\n#{super}"
32: end