lib/hamster/experimental/mutable_set.rb in hamster-1.0.1.pre.rc3 vs lib/hamster/experimental/mutable_set.rb in hamster-2.0.0

- old
+ new

@@ -1,21 +1,20 @@ -require "forwardable" require "hamster/set" require "hamster/read_copy_update" module Hamster - def self.mutable_set(*items) - MutableSet.new(set(*items)) - end - + # @api private class MutableSet - extend Forwardable include ReadCopyUpdate + def self.[](*items) + MutableSet.new(Set[*items]) + end + def add(item) transform { |set| set.add(item) } end - def_delegator :self, :add, :<< + alias :<< :add def add?(item) added = false transform do |set| added = !set.include?(item)