Sha256: 9e660fb4527073a90442ef925fc5ed3dd0898e20a0cdb8c33eb44d102882b694

Contents?: true

Size: 731 Bytes

Versions: 1

Compression:

Stored size: 731 Bytes

Contents

module Trackerific
  module Builders
    module Base
      class XML < Struct
        @xml_version = "1.0"

        class << self
          attr_accessor :xml_version
        end

        attr_reader :xml

        def initialize(*args)
          super(*args)
          @xml = ""
          build
        end

        protected

        def build
          raise NotImplementedError,
            "Implement this method in your builder subclass", caller
        end

        private

        def builder
          @builder ||= begin
            builder = Builder::XmlMarkup.new(target: @xml)
            builder.instruct! :xml, version: self.class.xml_version
            builder
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
trackerific-0.7.2 lib/trackerific/builders/base/xml.rb