From 021c6afb730c936b31039e297745f521a2df782e Mon Sep 17 00:00:00 2001 From: phinze Date: Sun, 28 Apr 2013 11:07:02 -0500 Subject: [PATCH] allow linkables to be set to none sometimes it doesn't make sense for a cask to link anything out to the Applications dir --- Casks/adobe-air.rb | 2 ++ lib/cask/dsl.rb | 6 +++++- test/cask/dsl_test.rb | 10 ++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Casks/adobe-air.rb b/Casks/adobe-air.rb index e47b63bec..bf5e9af93 100644 --- a/Casks/adobe-air.rb +++ b/Casks/adobe-air.rb @@ -6,4 +6,6 @@ class AdobeAir < Cask #caveat 'You need to run {{install_path}}/AdobeAIRInstaller.app to actually install Adobe AIR' sha1 '8fbd2dffc20442903d8b51e7362a3191f39752b4' + + link :app, :none end diff --git a/lib/cask/dsl.rb b/lib/cask/dsl.rb index fd9f51e7a..1cb438fc6 100644 --- a/lib/cask/dsl.rb +++ b/lib/cask/dsl.rb @@ -34,7 +34,11 @@ module Cask::DSL end def link(type, *files) - linkables[type] += files + if files == [:none] + linkables[type] = [] + else + linkables[type] += files + end end attr_reader :sums diff --git a/test/cask/dsl_test.rb b/test/cask/dsl_test.rb index edd540278..aaeb8034a 100644 --- a/test/cask/dsl_test.rb +++ b/test/cask/dsl_test.rb @@ -59,4 +59,14 @@ describe Cask::DSL do instance = CaskWithLinkables.new Array(instance.linkables[:app]).must_equal %w[Foo.app Bar.app] end + + it "allow linkables to be set to empty" do + CaskWithNoLinkables = Class.new(Cask) + CaskWithNoLinkables.class_eval do + link :app, :none + end + + instance = CaskWithNoLinkables.new + Array(instance.linkable_apps).must_equal %w[] + end end