Class: Crabfarm::Modes::Console::ConsoleDsl

Inherits:
Object
  • Object
show all
Defined in:
lib/crabfarm/modes/console.rb

Instance Method Summary collapse

Constructor Details

#initialize(_manager) ⇒ ConsoleDsl

Returns a new instance of ConsoleDsl.



22
23
24
# File 'lib/crabfarm/modes/console.rb', line 22

def initialize(_manager)
  @manager = _manager
end

Instance Method Details

#consoleObject



79
80
81
# File 'lib/crabfarm/modes/console.rb', line 79

def console
  Crabfarm::Utils::Console
end

#helpObject



74
75
76
77
# File 'lib/crabfarm/modes/console.rb', line 74

def help
  console.info "Ejem..."
  nil
end


38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/crabfarm/modes/console.rb', line 38

def navigate(_name=nil, _params={})
  if _name.nil?
    console.warning "Must provide a navigator name"
    return
  end

  begin
    console.info "Navigating..."
    output = @manager.navigate _name, _params
    console.json_result output.doc
    console.info "Completed in #{output.elapsed.real} s"

  rescue Exception => exc
    console.exception exc
  end
end

#reload!Object



26
27
28
29
30
# File 'lib/crabfarm/modes/console.rb', line 26

def reload!
  console.info "Reloading crawler source"
  @manager.reload
  nil
end

#resetObject



32
33
34
35
36
# File 'lib/crabfarm/modes/console.rb', line 32

def reset
  console.info "Resetting crawling context"
  @manager.reset
  nil
end

#snap(_name = nil, _params = {}) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/crabfarm/modes/console.rb', line 55

def snap(_name=nil, _params={})
  if _name.nil?
    console.warning "Must provide a navigator name"
    return
  end

  begin
    console.info "Navigating, waiting to hit a reducer..."
    require 'crabfarm/modes/shared/snapshot_decorator'
    Factories::Reducer.with_decorator Shared::SnapshotDecorator do
      @manager.navigate _name, _params
    end
    console.info "Navigation completed"

  rescue Exception => exc
    console.exception exc
  end
end