Sha256: 6207e7d3c6d5c2930a9a192db22a05d8eb58d332e45320677fe38941b9e8cab9

Contents?: true

Size: 1 KB

Versions: 61

Compression:

Stored size: 1 KB

Contents

module Nokogiri
  module XML
    class Namespace
      # :stopdoc:

      attr_accessor :cstruct
      attr_accessor :document

      def prefix
        cstruct[:prefix].nil? ? nil : cstruct[:prefix] # TODO: encoding?
      end

      def href
        cstruct[:href].nil? ? nil : cstruct[:href] # TODO: encoding?
      end

      class << self
        def wrap(document, node_struct)
          if node_struct.is_a?(FFI::Pointer)
            # cast native pointers up into a node cstruct
            return nil if node_struct.null?
            node_struct = LibXML::XmlNs.new(node_struct) 
          end

          ruby_node = node_struct.ruby_node
          return ruby_node unless ruby_node.nil?

          ns = Nokogiri::XML::Namespace.allocate
          ns.document = document.ruby_doc
          ns.cstruct = node_struct

          ns.cstruct.ruby_node = ns

          cache = ns.document.instance_variable_get(:@node_cache)
          cache << ns

          ns
        end
      end

      # :startdoc:
    end
  end
end

Version data entries

61 entries across 61 versions & 10 rubygems

Version Path
domo-0.0.4 vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.7-java lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.7-x86-mingw32 lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.7-x86-mswin32-60 lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.7 lib/nokogiri/ffi/xml/namespace.rb
search_biomodel-1.0.0 search_biomodel/ruby/1.8/gems/nokogiri-1.4.6/lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.6 lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.6-java lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.6-x86-mingw32 lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.6-x86-mswin32-60 lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.5-java lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.5 lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.5-x86-mswin32-60 lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.5-x86-mingw32 lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.4.2-java lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.4.1-x86-mswin32 lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.4.1-x86-mingw32 lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.4-x86-mswin32 lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.4-x86-mingw32 lib/nokogiri/ffi/xml/namespace.rb
nokogiri-1.4.4-java lib/nokogiri/ffi/xml/namespace.rb