homebrew-cask-versions/lib/cask/cli/fetch.rb
Claudia 0fe558b927 User-friendly error messages for invalid options/arguments; fixes #5997
- Show a more user-friendly error message when dealing with an option whose (mandatory) argument is missing.

- Likewise, we show a more user-friendly error message when a given option is ambiguous. Examples:
    - Given `-f`, the parser successfully expands to `--fontdir`.

    - Given `-c`, we fail to expand because the parser can’t tell if the user means `--caskroom` or rather `--colorpickerdir`. This exception now results in a nicer error message.

- Some commands now result in a consistent error message when a required cask name is missing.
This affects all stable commands which require one or more cask names as arguments, i. e. `cat`, `create`, `edit`, `fetch`, `info`, `install`, `uninstall`, and `zap`.

- Up to now, the commands `cat`, `create`, `edit`, and `info` used to treat any unknown option as a cask name. This commit changes that behaviour to make it consistent to the rest of the commands (like `fetch`, `install`, `uninstall`, and `zap`), who have silently discarded any unknown option in the past, and continue to do so.
2014-10-05 18:32:33 +02:00

18 lines
524 B
Ruby

class Cask::CLI::Fetch < Cask::CLI::Base
def self.run(*args)
cask_names = cask_names_from(args)
raise CaskUnspecifiedError if cask_names.empty?
force = args.include? '--force'
cask_names.each do |cask_name|
ohai "Fetching resources for Cask #{cask_name}"
cask = Cask.load(cask_name)
@downloaded_path = Cask::Download.new(cask).perform force
ohai "Success! Downloaded to -> #{@downloaded_path}"
end
end
def self.help
"downloads Cask resources to local cache"
end
end