aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cask
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/cask')
-rw-r--r--Library/Homebrew/cask/lib/hbc/auditor.rb18
-rw-r--r--Library/Homebrew/cask/lib/hbc/dsl.rb9
2 files changed, 25 insertions, 2 deletions
diff --git a/Library/Homebrew/cask/lib/hbc/auditor.rb b/Library/Homebrew/cask/lib/hbc/auditor.rb
index 6b0c1c476..7a6bb608f 100644
--- a/Library/Homebrew/cask/lib/hbc/auditor.rb
+++ b/Library/Homebrew/cask/lib/hbc/auditor.rb
@@ -1,6 +1,24 @@
module Hbc
class Auditor
def self.audit(cask, audit_download: false, check_token_conflicts: false)
+ saved_languages = MacOS.instance_variable_get(:@languages)
+
+ if languages_blocks = cask.instance_variable_get(:@dsl).instance_variable_get(:@language_blocks)
+ languages_blocks.keys.map(&:first).each do |language|
+ ohai "Auditing language #{language.to_s}"
+ language = "en-US" if language == :default
+ MacOS.instance_variable_set(:@languages, [language])
+ audit_cask_instance(Hbc.load(cask.sourcefile_path), audit_download, check_token_conflicts)
+ CLI::Cleanup.run(cask.token) if audit_download
+ end
+ else
+ audit_cask_instance(cask, audit_download, check_token_conflicts)
+ end
+ ensure
+ MacOS.instance_variable_set(:@languages, saved_languages)
+ end
+
+ def self.audit_cask_instance(cask, audit_download, check_token_conflicts)
download = audit_download && Download.new(cask)
audit = Audit.new(cask, download: download,
check_token_conflicts: check_token_conflicts)
diff --git a/Library/Homebrew/cask/lib/hbc/dsl.rb b/Library/Homebrew/cask/lib/hbc/dsl.rb
index bae395726..9970f8395 100644
--- a/Library/Homebrew/cask/lib/hbc/dsl.rb
+++ b/Library/Homebrew/cask/lib/hbc/dsl.rb
@@ -122,8 +122,13 @@ module Hbc
regexes_or_strings = regexes_or_strings - [:default] + [%r{^en}]
end
- case language
- when *regexes_or_strings
+ regexes_or_strings.each do |regex_or_string|
+ if regex_or_string.class == language.class
+ next unless regex_or_string == language
+ else
+ next unless regex_or_string =~ language
+ end
+
@language = block.call
return
end