Simplify SoftwareSpec checksum methods
Reader methods for specific checksum types have been absent from the Formula class for some time, so there isn't any reason to expose them in SoftwareSpec, either. Thus, these methods now only act as setters, and #checksum should be used to access the constructed Checksum object.
This commit is contained in:
parent
456386c9b1
commit
c8168d8a4a
@ -202,22 +202,15 @@ end
|
||||
|
||||
# MD5 support
|
||||
class Formula
|
||||
def self.md5(val=nil)
|
||||
unless val.nil?
|
||||
@stable ||= SoftwareSpec.new
|
||||
@stable.md5(val)
|
||||
end
|
||||
return @stable ? @stable.md5 : @md5
|
||||
def self.md5(val)
|
||||
@stable ||= SoftwareSpec.new
|
||||
@stable.md5(val)
|
||||
end
|
||||
end
|
||||
|
||||
class SoftwareSpec
|
||||
def md5(val=nil)
|
||||
if val.nil?
|
||||
@checksum if checksum.nil? or @checksum.hash_type == :md5
|
||||
else
|
||||
@checksum = Checksum.new(:md5, val)
|
||||
end
|
||||
def md5(val)
|
||||
@checksum = Checksum.new(:md5, val)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -677,12 +677,9 @@ private
|
||||
|
||||
Checksum::TYPES.each do |cksum|
|
||||
class_eval <<-EOS, __FILE__, __LINE__ + 1
|
||||
def #{cksum}(val=nil)
|
||||
unless val.nil?
|
||||
@stable ||= SoftwareSpec.new
|
||||
@stable.#{cksum}(val)
|
||||
end
|
||||
return @stable ? @stable.#{cksum} : @#{cksum}
|
||||
def #{cksum}(val)
|
||||
@stable ||= SoftwareSpec.new
|
||||
@stable.#{cksum}(val)
|
||||
end
|
||||
EOS
|
||||
end
|
||||
|
||||
@ -33,12 +33,8 @@ class SoftwareSpec
|
||||
# The methods that follow are used in the block-form DSL spec methods
|
||||
Checksum::TYPES.each do |cksum|
|
||||
class_eval <<-EOS, __FILE__, __LINE__ + 1
|
||||
def #{cksum}(val=nil)
|
||||
if val.nil?
|
||||
@checksum if @checksum.nil? or @checksum.hash_type == :#{cksum}
|
||||
else
|
||||
@checksum = Checksum.new(:#{cksum}, val)
|
||||
end
|
||||
def #{cksum}(val)
|
||||
@checksum = Checksum.new(:#{cksum}, val)
|
||||
end
|
||||
EOS
|
||||
end
|
||||
@ -94,11 +90,9 @@ class Bottle < SoftwareSpec
|
||||
# a Hash, which indicates the platform the checksum applies on.
|
||||
Checksum::TYPES.each do |cksum|
|
||||
class_eval <<-EOS, __FILE__, __LINE__ + 1
|
||||
def #{cksum}(val=nil)
|
||||
def #{cksum}(val)
|
||||
@#{cksum} ||= Hash.new
|
||||
case val
|
||||
when nil
|
||||
@#{cksum}[MacOS.cat]
|
||||
when Hash
|
||||
key, value = val.shift
|
||||
@#{cksum}[value] = Checksum.new(:#{cksum}, key)
|
||||
|
||||
@ -111,10 +111,6 @@ class FormulaTests < Test::Unit::TestCase
|
||||
assert_match /[0-9a-fA-F]{40}/, f.stable.checksum.hexdigest
|
||||
assert_match /[0-9a-fA-F]{64}/, f.devel.checksum.hexdigest
|
||||
|
||||
assert_nil f.stable.sha256
|
||||
assert_nil f.bottle.sha256
|
||||
assert_nil f.devel.sha1
|
||||
|
||||
assert_equal 1, f.stable.mirrors.length
|
||||
assert f.bottle.mirrors.empty?
|
||||
assert_equal 1, f.devel.mirrors.length
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user