Sha256: fc8526f955758a8865529e90293442127fb20d213d613913a4c142dda7edb132

Contents?: true

Size: 844 Bytes

Versions: 24

Compression:

Stored size: 844 Bytes

Contents

# $Id: libxml.rb 374 2008-07-11 04:51:41Z cfis $ 
# Please see the LICENSE file for copyright and distribution information 

module LibXML
  module XML
    class Attr 
      include Enumerable

      # Iterates nodes and attributes
      def siblings(node, &blk)
        if n = node
          loop do
            blk.call(n)
            break unless n = n.next
          end
        end 
      end
    
      def each_sibling(&blk)
        siblings(self,&blk)
      end
  
      alias :each_attr :each_sibling
      alias :each :each_sibling
  
      def to_h
        inject({}) do |h,a|
          h[a.name] = a.value
          h
        end
      end

      def to_a
        inject([]) do |ary,a| 
          ary << [a.name, a.value]
          ary
        end
      end
  
      def to_s
        "#{name} = #{value}"
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
libxml-ruby-0.8.2-x86-mswin32-60 lib/libxml/attr.rb
libxml-ruby-0.8.2 lib/libxml/attr.rb
libxml-ruby-0.8.1 lib/libxml/attr.rb
libxml-ruby-0.8.1-x86-mswin32-60 lib/libxml/attr.rb
libxml-ruby-0.8.0-x86-mswin32-60 lib/libxml/attr.rb
libxml-ruby-0.8.0 lib/libxml/attr.rb
libxml-ruby-0.9.0 lib/libxml/attr.rb
libxml-ruby-0.9.1 lib/libxml/attr.rb
libxml-ruby-0.9.2 lib/libxml/attr.rb
libxml-ruby-0.9.1-x86-mswin32-60 lib/libxml/attr.rb
libxml-ruby-0.9.2-x86-mswin32-60 lib/libxml/attr.rb
libxml-ruby-0.9.3-x86-mswin32-60 lib/libxml/attr.rb
libxml-ruby-0.9.0-x86-mswin32-60 lib/libxml/attr.rb
libxml-ruby-0.8.3 lib/libxml/attr.rb
libxml-ruby-0.8.3-x86-mswin32-60 lib/libxml/attr.rb
libxml-ruby-0.9.3 lib/libxml/attr.rb
libxml-ruby-0.9.6-x86-mswin32-60 lib/libxml/attr.rb
libxml-ruby-0.9.6 lib/libxml/attr.rb
libxml-ruby-0.9.4 lib/libxml/attr.rb
libxml-ruby-0.9.4-x86-mswin32-60 lib/libxml/attr.rb