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,
"name" => name,
"desc" => desc,
"homepage" => homepage,
"url" => url,
"appcast" => appcast,

View File

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

View File

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

View File

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

View File

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

View File

@ -90,7 +90,7 @@ describe Cask::Cmd::List, :cask do
let(:casks) { ["local-caffeine", "local-transmission"] }
let(:expected_output) {
<<~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
}

View File

@ -107,6 +107,16 @@ describe Cask::DSL, :cask do
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
it "lets you set checksum via sha256" do
cask = Cask::Cask.new("checksum-cask") do