class Dis::Layers

Dis Layers

Represents a collection of layers.

Public Class Methods

new(layers = []) click to toggle source
# File lib/dis/layers.rb, line 10
def initialize(layers = [])
  @layers = layers
end

Public Instance Methods

<<(layer) click to toggle source

Adds a layer to the collection.

# File lib/dis/layers.rb, line 15
def <<(layer)
  @layers << layer
end
clear!() click to toggle source

Clears all layers from the collection.

# File lib/dis/layers.rb, line 20
def clear!
  @layers = []
end
delayed() click to toggle source

Returns a new instance containing only the delayed layers.

# File lib/dis/layers.rb, line 30
def delayed
  self.class.new select(&:delayed?)
end
delayed?() click to toggle source

Returns true if one or more delayed layers exist.

# File lib/dis/layers.rb, line 35
def delayed?
  delayed.any?
end
each(&block) click to toggle source

Iterates over the layers.

# File lib/dis/layers.rb, line 25
def each(&block)
  @layers.each { |layer| block.call(layer) }
end
immediate() click to toggle source

Returns a new instance containing only the immediate layers.

# File lib/dis/layers.rb, line 40
def immediate
  self.class.new select(&:immediate?)
end
immediate?() click to toggle source

Returns true if one or more immediate layers exist.

# File lib/dis/layers.rb, line 45
def immediate?
  immediate.any?
end
readonly() click to toggle source

Returns a new instance containing only the readonly layers.

# File lib/dis/layers.rb, line 50
def readonly
  self.class.new select(&:readonly?)
end
readonly?() click to toggle source

Returns true if one or more readonly layers exist.

# File lib/dis/layers.rb, line 55
def readonly?
  readonly.any?
end
writeable() click to toggle source

Returns a new instance containing only the writeable layers.

# File lib/dis/layers.rb, line 60
def writeable
  self.class.new select(&:writeable?)
end
writeable?() click to toggle source

Returns true if one or more writeable layers exist.

# File lib/dis/layers.rb, line 65
def writeable?
  writeable.any?
end