Class: Arxiv::Downloader::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/arxiv/downloader/cli.rb

Constant Summary collapse

DEFAULT_DOWNLOAD_PATH =
File.join Dir.home, 'Downloads', 'ArXiv_Papers'
USAGE =
'Usage: arxiv-dl [options] <ARXIV_ID_OR_URL> [<ARXIV_ID_OR_URL>...]'.freeze

Instance Method Summary collapse

Constructor Details

#initialize(argv, stdout: $stdout, stderr: $stderr) ⇒ CLI

Returns a new instance of CLI.



9
10
11
12
13
# File 'lib/arxiv/downloader/cli.rb', line 9

def initialize argv, stdout: $stdout, stderr: $stderr
  @argv   = argv
  @stdout = stdout
  @stderr = stderr
end

Instance Method Details

#runObject



15
16
17
18
19
20
21
22
23
24
# File 'lib/arxiv/downloader/cli.rb', line 15

def run
  options = parse
  return options.fetch(:exit_status) if options.key? :exit_status

  return error_with USAGE       if options[:targets].empty?
  return error_with conflict if options[:verbose] && options[:quiet]

  download_each options
  0
end