Sha256: f593a651c7e15916be97be153ad79098bd2d10f9adcfaae3ad8f5ad5e0d447b4

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

# lib/moxml.rb
require_relative "moxml/version"
require_relative "moxml/config"
require_relative "moxml/document"
require_relative "moxml/node"
require_relative "moxml/element"
require_relative "moxml/text"
require_relative "moxml/cdata_section"
require_relative "moxml/comment"
require_relative "moxml/processing_instruction"
require_relative "moxml/visitor"
require_relative "moxml/errors"
require_relative "moxml/backends/base"

module Moxml
  class << self
    def config
      @config ||= Config.new
    end

    def configure
      yield(config)
    end

    def backend
      @backend ||= begin
          backend_class = case config.backend
            when :nokogiri
              require_relative "moxml/backends/nokogiri"
              Backends::Nokogiri
            when :ox
              require_relative "moxml/backends/ox"
              Backends::Ox
            when :oga
              require_relative "moxml/backends/oga"
              Backends::Oga
            else
              raise ArgumentError, "Unknown backend: #{config.backend}"
            end
          backend_class.new
        end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
moxml-0.1.0 lib/moxml.rb