Sha256: 167426f06a2dba00b856a247b3e5021c9caa1dd9c21e6d37ff43d09eb1aa0f36

Contents?: true

Size: 427 Bytes

Versions: 5

Compression:

Stored size: 427 Bytes

Contents

class Eye::Utils::AliveArray
  extend Forwardable
  include Enumerable

  def_delegators :@arr, :[], :<<, :clear, :delete, :size, :empty?

  def initialize(arr = [])
    @arr = arr
  end

  def each(&block)
    @arr.each{|elem| elem && elem.alive? && block[elem] }
  end

  def to_a
    map{|x| x }
  end

  def full_size
    @arr.size
  end

  def pure
    @arr
  end

  def sort_by(&block)
    self.class.new super
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
eye-0.2.3 lib/eye/utils/alive_array.rb
eye-0.2.2 lib/eye/utils/alive_array.rb
eye-0.2.1 lib/eye/utils/alive_array.rb
eye-0.2 lib/eye/utils/alive_array.rb
eye-0.1.11 lib/eye/utils/alive_array.rb