From 0e8cebbb5b31837a691a59397ab58be54af3740e Mon Sep 17 00:00:00 2001 From: Seeker Date: Thu, 3 Sep 2020 20:26:13 -0700 Subject: [PATCH] Store Livecheck#version as symbol or string --- Library/Homebrew/livecheck.rb | 18 ++++-------------- Library/Homebrew/livecheck/livecheck.rb | 2 ++ Library/Homebrew/test/livecheck_spec.rb | 2 +- 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/Library/Homebrew/livecheck.rb b/Library/Homebrew/livecheck.rb index 7311cffe4c..7f329e0996 100644 --- a/Library/Homebrew/livecheck.rb +++ b/Library/Homebrew/livecheck.rb @@ -106,22 +106,12 @@ class Livecheck # TODO: documentation def version(val = nil) - @version = case val - when nil - return @version - when :before_comma - [",", :first] - when :after_comma - [",", :second] - when :before_colon - [":", :first] - when :after_colon - [":", :second] - when String - val - else + return @version if val.nil? + unless val.is_a?(String) || (val.is_a?(Symbol) && Cask::DSL::Version.method_defined?(val)) raise TypeError, "Livecheck#version expects a String or valid Symbol" end + + @version = val end # Returns a `Hash` of all instance variable values. diff --git a/Library/Homebrew/livecheck/livecheck.rb b/Library/Homebrew/livecheck/livecheck.rb index 66af0adb32..ae8441eb5a 100644 --- a/Library/Homebrew/livecheck/livecheck.rb +++ b/Library/Homebrew/livecheck/livecheck.rb @@ -125,6 +125,8 @@ module Homebrew else formula.stable.version end + elsif livecheck_version.is_a?(Symbol) + Version.new(Cask::DSL::Version.new(formula_or_cask.version).try(livecheck_version)) else Version.new(formula_or_cask.version) end diff --git a/Library/Homebrew/test/livecheck_spec.rb b/Library/Homebrew/test/livecheck_spec.rb index e39af8afd1..0aa2905d81 100644 --- a/Library/Homebrew/test/livecheck_spec.rb +++ b/Library/Homebrew/test/livecheck_spec.rb @@ -117,7 +117,7 @@ describe Livecheck do expect(livecheckable.version).to eq("1.2.3") livecheckable.version(:before_comma) - expect(livecheckable.version).to eq([",", :first]) + expect(livecheckable.version).to eq(:before_comma) end it "raises a TypeError if the argument isn't a String or Symbol" do