aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2014-07-18 15:14:42 -0500
committerJack Nagel2014-07-18 15:15:12 -0500
commit2fa2f73b0a34ce883d154516240d2084318c337e (patch)
tree5faa7b2b2637aff7f5f90ec4541c2d93cdb1c0f7
parent99073dad6f57e2684ec5492e6c0a86ec1db5dffe (diff)
downloadhomebrew-2fa2f73b0a34ce883d154516240d2084318c337e.tar.bz2
Add a factory method that accepts a formula object
-rw-r--r--Library/Homebrew/cmd/bottle.rb2
-rw-r--r--Library/Homebrew/software_spec.rb6
-rw-r--r--Library/Homebrew/test/test_bottle_filename.rb11
3 files changed, 17 insertions, 2 deletions
diff --git a/Library/Homebrew/cmd/bottle.rb b/Library/Homebrew/cmd/bottle.rb
index 954f6eb78..e582620bb 100644
--- a/Library/Homebrew/cmd/bottle.rb
+++ b/Library/Homebrew/cmd/bottle.rb
@@ -125,7 +125,7 @@ module Homebrew
bottle_revision = max ? max + 1 : 0
end
- filename = Bottle::Filename.new(f.name, f.pkg_version, bottle_tag, bottle_revision)
+ filename = Bottle::Filename.create(f, bottle_tag, bottle_revision)
if bottle_filename_formula_name(filename).empty?
return ofail "Add a new regex to bottle_version.rb to parse #{f.version} from #{filename}"
diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb
index 9a9db69fc..7b8a09e46 100644
--- a/Library/Homebrew/software_spec.rb
+++ b/Library/Homebrew/software_spec.rb
@@ -116,6 +116,10 @@ class Bottle
class Filename
attr_reader :name, :version, :tag, :revision
+ def self.create(formula, tag, revision)
+ new(formula.name, formula.pkg_version, tag, revision)
+ end
+
def initialize(name, version, tag, revision)
@name = name
@version = version
@@ -152,7 +156,7 @@ class Bottle
checksum, tag = spec.checksum_for(bottle_tag)
- filename = Filename.new(formula.name, formula.pkg_version, tag, spec.revision)
+ filename = Filename.create(formula, tag, spec.revision)
@resource.url = build_url(spec.root_url, filename)
@resource.download_strategy = CurlBottleDownloadStrategy
@resource.version = formula.pkg_version
diff --git a/Library/Homebrew/test/test_bottle_filename.rb b/Library/Homebrew/test/test_bottle_filename.rb
index cad538be9..0c5fdec1a 100644
--- a/Library/Homebrew/test/test_bottle_filename.rb
+++ b/Library/Homebrew/test/test_bottle_filename.rb
@@ -1,4 +1,5 @@
require "testing_env"
+require "formula"
require "software_spec"
class BottleFilenameTests < Homebrew::TestCase
@@ -17,4 +18,14 @@ class BottleFilenameTests < Homebrew::TestCase
assert_equal expected, fn(0).to_s
assert_equal expected, fn(0).to_str
end
+
+ def test_create
+ f = formula {
+ url "https://example.com/foo.tar.gz"
+ version "1.0"
+ }
+
+ expected = "formula_name-1.0.tag.bottle.tar.gz"
+ assert_equal expected, Bottle::Filename.create(f, :tag, 0).to_s
+ end
end