class RSpec::Core::Set
@private
We use this to replace ‘::Set` so we can have the advantage of constant time key lookups for unique arrays but without the potential to pollute a developers environment with an extra piece of the stdlib. This helps to prevent false positive builds.
Public Class Methods
new(array=[])
click to toggle source
# File lib/rspec/core/set.rb, line 14 def initialize(array=[]) @values = {} merge(array) end
Public Instance Methods
<<(key)
click to toggle source
# File lib/rspec/core/set.rb, line 23 def <<(key) @values[key] = true self end
clear()
click to toggle source
# File lib/rspec/core/set.rb, line 48 def clear @values.clear self end
delete(key)
click to toggle source
# File lib/rspec/core/set.rb, line 28 def delete(key) @values.delete(key) end
each(&block)
click to toggle source
# File lib/rspec/core/set.rb, line 32 def each(&block) @values.keys.each(&block) self end
empty?()
click to toggle source
# File lib/rspec/core/set.rb, line 19 def empty? @values.empty? end
include?(key)
click to toggle source
# File lib/rspec/core/set.rb, line 37 def include?(key) @values.key?(key) end
merge(values)
click to toggle source
# File lib/rspec/core/set.rb, line 41 def merge(values) values.each do |key| @values[key] = true end self end