aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorMarkus Reiter2017-09-29 12:13:28 +0200
committerGitHub2017-09-29 12:13:28 +0200
commit22e329fb02329f9d270a1a0b82fb6227dcd91d26 (patch)
treea4606018820ca1e35b69461b67eaea35d92d2b77 /Library/Homebrew
parentd07b6b6134ad02f60f04a03099756d4e946ea290 (diff)
parenta750644b9218267116af07c4832f7a5cccad415d (diff)
downloadbrew-22e329fb02329f9d270a1a0b82fb6227dcd91d26.tar.bz2
Merge pull request #3195 from reitermarkus/fix-language_eval
Fail if no default language is specified.
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/cask/lib/hbc/dsl.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/Library/Homebrew/cask/lib/hbc/dsl.rb b/Library/Homebrew/cask/lib/hbc/dsl.rb
index 3824b9761..1d048bffd 100644
--- a/Library/Homebrew/cask/lib/hbc/dsl.rb
+++ b/Library/Homebrew/cask/lib/hbc/dsl.rb
@@ -105,7 +105,9 @@ module Hbc
end
def language(*args, default: false, &block)
- if !args.empty? && block_given?
+ if args.empty?
+ language_eval
+ elsif block_given?
@language_blocks ||= {}
@language_blocks[args] = block
@@ -117,7 +119,7 @@ module Hbc
@language_blocks.default = block
else
- language_eval
+ raise CaskInvalidError.new(cask, "No block given to language stanza.")
end
end
@@ -126,6 +128,10 @@ module Hbc
return @language = nil if @language_blocks.nil? || @language_blocks.empty?
+ if @language_blocks.default.nil?
+ raise CaskInvalidError.new(cask, "No default language specified.")
+ end
+
MacOS.languages.map(&Locale.method(:parse)).each do |locale|
key = @language_blocks.keys.detect do |strings|
strings.any? { |string| locale.include?(string) }