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)