Add a desc stanza to the cask DSL

This commit is contained in:
Waldir Pimenta 2020-07-29 15:40:31 +01:00
parent db7ffe21f1
commit ffed8fdbb3
7 changed files with 20 additions and 2 deletions

View File

@ -155,6 +155,7 @@ module Cask
{ {
"token" => token, "token" => token,
"name" => name, "name" => name,
"desc" => desc,
"homepage" => homepage, "homepage" => homepage,
"url" => url, "url" => url,
"appcast" => appcast, "appcast" => appcast,

View File

@ -30,6 +30,7 @@ module Cask
url "https://" url "https://"
name "" name ""
desc ""
homepage "" homepage ""
app "" app ""

View File

@ -64,6 +64,7 @@ module Cask
:caveats, :caveats,
:conflicts_with, :conflicts_with,
:container, :container,
:desc,
:depends_on, :depends_on,
:homepage, :homepage,
:language, :language,
@ -93,6 +94,10 @@ module Cask
@name.concat(args.flatten) @name.concat(args.flatten)
end end
def desc(description = nil)
set_unique_stanza(:desc, description.nil?) { description }
end
def set_unique_stanza(stanza, should_return) def set_unique_stanza(stanza, should_return)
return instance_variable_get("@#{stanza}") if should_return return instance_variable_get("@#{stanza}") if should_return

View File

@ -6,7 +6,7 @@ module RuboCop
module Constants module Constants
STANZA_GROUPS = [ STANZA_GROUPS = [
[:version, :sha256], [:version, :sha256],
[:url, :appcast, :name, :homepage], [:url, :appcast, :desc, :name, :homepage],
[ [
:auto_updates, :auto_updates,
:conflicts_with, :conflicts_with,

View File

@ -35,6 +35,7 @@ describe Cask::Cmd::Create, :cask do
url "https://" url "https://"
name "" name ""
desc ""
homepage "" homepage ""
app "" app ""

View File

@ -90,7 +90,7 @@ describe Cask::Cmd::List, :cask do
let(:casks) { ["local-caffeine", "local-transmission"] } let(:casks) { ["local-caffeine", "local-transmission"] }
let(:expected_output) { let(:expected_output) {
<<~EOS <<~EOS
[{"token":"local-caffeine","name":[],"homepage":"https://brew.sh/","url":"file:///usr/local/Homebrew/Library/Homebrew/test/support/fixtures/cask/caffeine.zip","appcast":null,"version":"1.2.3","sha256":"67cdb8a02803ef37fdbf7e0be205863172e41a561ca446cd84f0d7ab35a99d94","artifacts":[["Caffeine.app"]],"caveats":null,"depends_on":{},"conflicts_with":null,"container":null,"auto_updates":null},{"token":"local-transmission","name":["Transmission"],"homepage":"https://brew.sh/","url":"file:///usr/local/Homebrew/Library/Homebrew/test/support/fixtures/cask/transmission-2.61.dmg","appcast":null,"version":"2.61","sha256":"e44ffa103fbf83f55c8d0b1bea309a43b2880798dae8620b1ee8da5e1095ec68","artifacts":[["Transmission.app"]],"caveats":null,"depends_on":{},"conflicts_with":null,"container":null,"auto_updates":null}] [{"token":"local-caffeine","name":[],"desc":null,"homepage":"https://brew.sh/","url":"file:///usr/local/Homebrew/Library/Homebrew/test/support/fixtures/cask/caffeine.zip","appcast":null,"version":"1.2.3","sha256":"67cdb8a02803ef37fdbf7e0be205863172e41a561ca446cd84f0d7ab35a99d94","artifacts":[["Caffeine.app"]],"caveats":null,"depends_on":{},"conflicts_with":null,"container":null,"auto_updates":null},{"token":"local-transmission","name":["Transmission"],"desc":null,"homepage":"https://brew.sh/","url":"file:///usr/local/Homebrew/Library/Homebrew/test/support/fixtures/cask/transmission-2.61.dmg","appcast":null,"version":"2.61","sha256":"e44ffa103fbf83f55c8d0b1bea309a43b2880798dae8620b1ee8da5e1095ec68","artifacts":[["Transmission.app"]],"caveats":null,"depends_on":{},"conflicts_with":null,"container":null,"auto_updates":null}]
EOS EOS
} }

View File

@ -107,6 +107,16 @@ describe Cask::DSL, :cask do
end end
end end
describe "desc stanza" do
it "lets you set the description via a desc stanza" do
cask = Cask::Cask.new("desc-cask") do
desc "The package's description"
end
expect(cask.desc).to eq("The package's description")
end
end
describe "sha256 stanza" do describe "sha256 stanza" do
it "lets you set checksum via sha256" do it "lets you set checksum via sha256" do
cask = Cask::Cask.new("checksum-cask") do cask = Cask::Cask.new("checksum-cask") do