Class: Vessel::CLI

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

Instance Method Summary collapse

Instance Method Details

#generate(name, *options) ⇒ Object



57
58
59
60
61
62
# File 'lib/vessel/cli.rb', line 57

def generate(name, *options)
  require "erb"
  Vessel.boot
  templator = Vessel.loader.templator
  templator.new(name, options).build
end

#listObject



15
16
17
18
19
# File 'lib/vessel/cli.rb', line 15

def list
  Vessel.boot
  Vessel.loader.load_crawlers
  puts Vessel.loader.list_crawlers
end

#new(name) ⇒ Object



50
51
52
53
54
# File 'lib/vessel/cli.rb', line 50

def new(name)
  templates = File.expand_path("skeleton", __dir__)
  FileUtils.cp_r(templates, "./#{name}")
  puts "Project #{name} generated"
end

#parse(name, url, callback) ⇒ Object



42
43
44
45
46
47
# File 'lib/vessel/cli.rb', line 42

def parse(name, url, callback)
  crawler = find_crawler(name)
  engine = Engine.new(crawler)
  data = options[:data].transform_keys(&:to_sym)
  engine.parse(url, callback, data)
end

#settings(name) ⇒ Object



22
23
24
25
26
27
28
29
30
31
# File 'lib/vessel/cli.rb', line 22

def settings(name)
  crawler = find_crawler(name)
  settings = crawler.settings
  puts "Delay: #{settings[:delay]}"
  puts "Allow cookies: #{settings[:allow_cookies]}"
  puts "Cookies: #{settings[:cookies]}"
  puts "Middleware: #{settings[:middleware]}"
  puts "Start urls:\n"
  PP.pp(settings[:start_urls])
end

#start(name) ⇒ Object



34
35
36
37
38
# File 'lib/vessel/cli.rb', line 34

def start(name)
  crawler = find_crawler(name)
  engine = Engine.new(crawler)
  engine.run
end

#versionObject



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

def version
  puts Vessel::VERSION
end