Sha256: 15f45920c9ae27d680607a63490b12a979dab3be23eab815eb2caea3736352ac

Contents?: true

Size: 645 Bytes

Versions: 4

Compression:

Stored size: 645 Bytes

Contents

#--
# (c) Copyright 2008 Robert Egglestone <r.egglestone@auckland.ac.nz>
# See the file LICENSES.txt included with the distribution for
# software license details.
#++

module Warbler
  # A set of gems. This only exists to allow expected operations
  # to be used to add gems, and for backwards compatibility.
  # It would be easier to just use a hash.
  class Gems < Hash
    ANY_VERSION = nil
    
    def initialize(gems = nil)
      if gems.is_a?(Hash)
        self.merge!(gems)
      elsif gems.is_a?(Array)
        gems.each {|gem| self << gem }
      end
    end
    
    def <<(gem)
      self[gem] ||= ANY_VERSION
    end
    
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
warbler-0.9.3 lib/warbler/gems.rb
warbler-0.9.2 lib/warbler/gems.rb
warbler-0.9.4 lib/warbler/gems.rb
warbler-0.9.5 lib/warbler/gems.rb