class Hamster::MutableSet

@api private

Public Class Methods

[](*items) click to toggle source
# File lib/hamster/experimental/mutable_set.rb, line 9
def self.[](*items)
  MutableSet.new(Set[*items])
end

Public Instance Methods

<<(item)
Alias for: add
add(item) click to toggle source
# File lib/hamster/experimental/mutable_set.rb, line 13
def add(item)
  transform { |set| set.add(item) }
end
Also aliased as: <<
add?(item) click to toggle source
# File lib/hamster/experimental/mutable_set.rb, line 18
def add?(item)
  added = false
  transform do |set|
    added = !set.include?(item)
    set.add(item)
  end
  added
end
delete(item) click to toggle source
# File lib/hamster/experimental/mutable_set.rb, line 27
def delete(item)
  transform { |set| set.delete(item) }
end
delete?(item) click to toggle source
# File lib/hamster/experimental/mutable_set.rb, line 31
def delete?(item)
  deleted = false
  transform do |set|
    deleted = set.include?(item)
    set.delete(item)
  end
  deleted
end