class Generics::List::Mutable

Public Class Methods

new(*collection) click to toggle source

@param [Class, Module] type

# File lib/generics/collections/list.rb, line 168
def initialize(*collection)
  collection.each { |value| compatible!(value) }
  @collection = collection.freeze
end

Public Instance Methods

[]=(index, value) click to toggle source
# File lib/generics/collections/list.rb, line 201
def []=(index, value)
  compatible!(value)
  @collection[index] = value
end
add(value) click to toggle source

Destructive

# File lib/generics/collections/list.rb, line 187
def add(value)
  compatible!(value)
  @collection.push(value)
end
clone() click to toggle source

Preserves frozen state and does copies singleton state @return [List::Mutable]

# File lib/generics/collections/list.rb, line 181
def clone
  self.class.new(*@collection.clone)
end
delete(value) click to toggle source
# File lib/generics/collections/list.rb, line 211
def delete(value)
  compatible!(value)
  @collection.delete(value)
end
delete_at(index) click to toggle source
# File lib/generics/collections/list.rb, line 216
def delete_at(index)
  @collection.delete_at(index)
end
dup() click to toggle source

Does not preserve frozen state and does not copy singleton state @return [List::Mutable]

# File lib/generics/collections/list.rb, line 175
def dup
  self.class.new(*@collection.dup)
end
insert(index, *values) click to toggle source
# File lib/generics/collections/list.rb, line 206
def insert(index, *values)
  values.each { |value| compatible!(value) }
  self.class.new(*@collection.insert(index, *values))
end
set(index, value) { |collection| ... } click to toggle source
# File lib/generics/collections/list.rb, line 192
def set(index, value, &_block)
  compatible!(value)
  if block_given?
    @collection[index] = yield @collection[index]
  else
    @collection[index] = value
  end
end
unshift(value) click to toggle source
# File lib/generics/collections/list.rb, line 220
def unshift(value)
  compatible!(value)
  self.class.new(*@collection.unshift(value))
end