Sha256: a4091ade09f9bc8d07dd36994172a0cd965217b6cc51d6f96dd2ea46bc0e0259

Contents?: true

Size: 1 KB

Versions: 4

Compression:

Stored size: 1 KB

Contents

module Nokogiri
  module XML
    class Document < Node
      def name
        'document'
      end

      def document
        self
      end

      def decorators(key)
        @decorators ||= Hash.new
        @decorators[key] ||= []
      end

      ###
      # Explore a document with shortcut methods.

      def slop!
        unless decorators(XML::Node).include? Nokogiri::Decorators::Slop
          decorators(XML::Node) << Nokogiri::Decorators::Slop
          decorate!
        end

        self
      end

      ###
      # Apply any decorators to +node+
      def decorate(node)
        return unless @decorators
        @decorators.each { |klass,list|
          next unless node.is_a?(klass)
          list.each { |moodule| node.extend(moodule) }
        }
      end

      def node_cache
        @node_cache ||= {}
      end

      def to_xml
        serialize
      end

      def inner_html
        serialize
      end

      def namespaces
        root ? root.collect_namespaces : {}
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
nokogiri-1.0.7 lib/nokogiri/xml/document.rb
nokogiri-1.0.7-x86-mswin32-60 lib/nokogiri/xml/document.rb
nokogiri-1.1.0 lib/nokogiri/xml/document.rb
nokogiri-1.1.0-x86-mswin32-60 lib/nokogiri/xml/document.rb