Sha256: d6bf94f72ec524d16d373dd069b2e92e15b71824bfdaefde2aed9d6d8a58f9bf

Contents?: true

Size: 810 Bytes

Versions: 9

Compression:

Stored size: 810 Bytes

Contents

module Webgen::ContentProcessor

  # Processes content that is valid Ruby to build an XML tree. This is done by using the +builder+
  # library.
  class Builder

    # Process the content of +context+ which needs to be valid Ruby code. The special variable +xml+
    # should be used to construct the XML content.
    def call(context)
      require 'builder'

      node = context.content_node
      ref_node = context.ref_node
      dest_node = context.dest_node

      xml = ::Builder::XmlMarkup.new(:indent => 2)
      eval(context.content, binding, context.ref_node.absolute_lcn)
      context.content = xml.target!
      context
    rescue Exception => e
      raise RuntimeError, "Error using Builder in <#{context.ref_node.absolute_lcn}> to generate XML: #{e.message}", e.backtrace
    end

  end

end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
gettalong-webgen-0.5.4.20080929 lib/webgen/contentprocessor/builder.rb
gettalong-webgen-0.5.5.20081001 lib/webgen/contentprocessor/builder.rb
gettalong-webgen-0.5.5.20081010 lib/webgen/contentprocessor/builder.rb
gettalong-webgen-0.5.5.20081012 lib/webgen/contentprocessor/builder.rb
gettalong-webgen-0.5.6.20081020 lib/webgen/contentprocessor/builder.rb
webgen-0.5.3 lib/webgen/contentprocessor/builder.rb
webgen-0.5.4 lib/webgen/contentprocessor/builder.rb
webgen-0.5.6 lib/webgen/contentprocessor/builder.rb
webgen-0.5.5 lib/webgen/contentprocessor/builder.rb