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