Class: Nous::Cli

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

Defined Under Namespace

Classes: CliError

Instance Method Summary collapse

Constructor Details

#initialize(argv) ⇒ Cli

Returns a new instance of Cli.



9
10
11
12
# File 'lib/nous/cli.rb', line 9

def initialize(argv)
  @argv = argv
  @options = {format: :text, concurrency: 3, limit: 100, timeout: 15}
end

Instance Method Details

#run ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/nous/cli.rb', line 14

def run
  parse_options!
  validate!

  pages = Nous.fetch(seed_url, **fetch_options)
  output = Nous.serialize(pages, format: options[:format])
  write_output(output)
rescue CliError,
  Fetcher::FetchError,
  Serializer::SerializationError => e
  warn("nous: #{e.message}")
  exit 1
end