Options no longer needs deep-copy semantics
Follow-up to 23d90a6a187a57fbdf4eeac146993e3b37c3d4d9.
This commit is contained in:
		
							parent
							
								
									023f02b90a
								
							
						
					
					
						commit
						af3d551de7
					
				@ -50,9 +50,6 @@ end
 | 
			
		||||
class Options
 | 
			
		||||
  include Enumerable
 | 
			
		||||
 | 
			
		||||
  attr_reader :options
 | 
			
		||||
  protected :options
 | 
			
		||||
 | 
			
		||||
  def self.create(array)
 | 
			
		||||
    options = new
 | 
			
		||||
    array.each do |e|
 | 
			
		||||
@ -70,11 +67,6 @@ class Options
 | 
			
		||||
    @options = Set.new(*args)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def initialize_copy(other)
 | 
			
		||||
    super
 | 
			
		||||
    @options = other.options.dup
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def each(*args, &block)
 | 
			
		||||
    @options.each(*args, &block)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
@ -125,10 +125,4 @@ class OptionsTests < Homebrew::TestCase
 | 
			
		||||
    debug = Option.new("-d")
 | 
			
		||||
    assert_equal [verbose, debug].sort, Options.create(array).sort
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_copies_do_not_share_underlying_collection
 | 
			
		||||
    copy = @options.dup << Option.new("foo")
 | 
			
		||||
    assert_empty @options
 | 
			
		||||
    assert_equal 1, copy.count
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user