Sha256: 9a38fff64f218995d55fdfc75067dd0714032660129810fee8591b19a360b2a5

Contents?: true

Size: 535 Bytes

Versions: 3

Compression:

Stored size: 535 Bytes

Contents

require_relative 'element'

module Hyalite::DOM
  class Collection
    include Native
    include Enumerable

    def each(&block)
      `self.native.length`.times do |i|
        block.call Element.new(`self.native.item(i)`)
      end

      nil
    end

    def [](index)
      Element.new(`self.native.item(index)`)
    end

    def first
      Element.new(`self.native.item(0)`)
    end

    def last
      Element.new(`self.native.item(self.native.length - 1)`)
    end

    def length
      `self.native.length`
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hyalite-0.3.4 lib/hyalite/dom/collection.rb
hyalite-0.3.2 lib/hyalite/dom/collection.rb
hyalite-0.3.1 lib/hyalite/dom/collection.rb