Module: Crabfarm
- Defined in:
- lib/crabfarm.rb,
lib/crabfarm/cli.rb,
lib/crabfarm/base.rb,
lib/crabfarm/errors.rb,
lib/crabfarm/context.rb,
lib/crabfarm/version.rb,
lib/crabfarm/modes/live.rb,
lib/crabfarm/strategies.rb,
lib/crabfarm/base_struct.rb,
lib/crabfarm/driver_pool.rb,
lib/crabfarm/live/viewer.rb,
lib/crabfarm/state_store.rb,
lib/crabfarm/support/gli.rb,
lib/crabfarm/base_reducer.rb,
lib/crabfarm/live/context.rb,
lib/crabfarm/live/manager.rb,
lib/crabfarm/live/watcher.rb,
lib/crabfarm/modes/server.rb,
lib/crabfarm/utils/naming.rb,
lib/crabfarm/configuration.rb,
lib/crabfarm/modes/console.rb,
lib/crabfarm/utils/console.rb,
lib/crabfarm/utils/resolve.rb,
lib/crabfarm/base_navigator.rb,
lib/crabfarm/crabtrap_runner.rb,
lib/crabfarm/live/controller.rb,
lib/crabfarm/modes/generator.rb,
lib/crabfarm/modes/publisher.rb,
lib/crabfarm/utils/webdriver.rb,
lib/crabfarm/assertion/fields.rb,
lib/crabfarm/crabtrap_context.rb,
lib/crabfarm/forked_navigator.rb,
lib/crabfarm/assertion/context.rb,
lib/crabfarm/assertion/parsers.rb,
lib/crabfarm/assertion/wrapper.rb,
lib/crabfarm/factories/context.rb,
lib/crabfarm/factories/reducer.rb,
lib/crabfarm/live/interactable.rb,
lib/crabfarm/rspec/reducer_spy.rb,
lib/crabfarm/transition_service.rb,
lib/crabfarm/utils/rspec_runner.rb,
lib/crabfarm/factories/decorable.rb,
lib/crabfarm/factories/navigator.rb,
lib/crabfarm/live/reducer_runner.rb,
lib/crabfarm/support/custom_puma.rb,
lib/crabfarm/utils/port_discovery.rb,
lib/crabfarm/adapters/browser/base.rb,
lib/crabfarm/adapters/browser/noop.rb,
lib/crabfarm/assertion/validations.rb,
lib/crabfarm/live/navigator_runner.rb,
lib/crabfarm/modes/recorder/memento.rb,
lib/crabfarm/support/phantom_runner.rb,
lib/crabfarm/adapters/browser/chenso.rb,
lib/crabfarm/adapters/browser/chrome.rb,
lib/crabfarm/adapters/parser/pincers.rb,
lib/crabfarm/modes/recorder/snapshot.rb,
lib/crabfarm/adapters/browser/firefox.rb,
lib/crabfarm/adapters/parser/nokogiri.rb,
lib/crabfarm/live/reducer_runner_rspec.rb,
lib/crabfarm/rspec/reducer_spy_manager.rb,
lib/crabfarm/support/webdriver_factory.rb,
lib/crabfarm/adapters/parser/pdf_reader.rb,
lib/crabfarm/engines/sync_state_manager.rb,
lib/crabfarm/factories/snapshot_reducer.rb,
lib/crabfarm/live/reducer_runner_direct.rb,
lib/crabfarm/rspec/reducer_spec_helpers.rb,
lib/crabfarm/adapters/browser/phantom_js.rb,
lib/crabfarm/engines/async_state_manager.rb,
lib/crabfarm/live/navigator_runner_rspec.rb,
lib/crabfarm/live/navigator_runner_direct.rb,
lib/crabfarm/rspec/navigator_spec_helpers.rb,
lib/crabfarm/modes/shared/snapshot_decorator.rb,
lib/crabfarm/adapters/driver_wrapper/capybara.rb,
lib/crabfarm/adapters/browser/remote_webdriver.rb,
lib/crabfarm/modes/shared/interactive_decorator.rb,
lib/crabfarm/adapters/browser/abstract_webdriver.rb,
lib/crabfarm/adapters/driver_wrapper/pincers.rb,
lib/crabfarm/adapters/driver_wrapper/watir.rb
Defined Under Namespace
Modules: Adapters, Assertion, Base, Engines, Factories, Live, Modes, RSpec, Strategies, Support, Utils
Classes: ArgumentError, AssertionError, BaseNavigator, BaseReducer, BaseStruct, BinaryMissingError, CLI, Configuration, ConfigurationError, Context, CrabtrapContext, CrabtrapRunner, CrawlerError, DriverPool, Error, ForkedNavigator, LiveInterrupted, ResourceNotFoundError, StateStore, StillWorkingError, TimeoutError, TransitionService
Constant Summary
collapse
- VERSION =
"0.7.5"
- @@config =
Configuration.new
- @@logger =
nil
- @@live =
nil
- @@debug =
false
Class Method Summary
collapse
Class Method Details
.app_path ⇒ Object
41
42
43
|
# File 'lib/crabfarm.rb', line 41
def self.app_path
CF_PATH
end
|
.config ⇒ Object
45
46
47
|
# File 'lib/crabfarm.rb', line 45
def self.config
@@config
end
|
.debug? ⇒ Boolean
83
84
85
|
# File 'lib/crabfarm.rb', line 83
def self.debug?
@@debug
end
|
.enable_debugging! ⇒ Object
78
79
80
81
|
# File 'lib/crabfarm.rb', line 78
def self.enable_debugging!
require 'pry-byebug'
@@debug = true
end
|
.inside_crawler_app? ⇒ Boolean
37
38
39
|
# File 'lib/crabfarm.rb', line 37
def self.inside_crawler_app?
defined? CF_PATH
end
|
.install_live_backend! ⇒ Object
65
66
67
68
|
# File 'lib/crabfarm.rb', line 65
def self.install_live_backend!
require "crabfarm/live/manager"
@@live = Live::Manager.new
end
|
.live ⇒ Object
70
71
72
|
# File 'lib/crabfarm.rb', line 70
def self.live
@@live
end
|
.live? ⇒ Boolean
74
75
76
|
# File 'lib/crabfarm.rb', line 74
def self.live?
not @@live.nil?
end
|
.logger ⇒ Object
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/crabfarm.rb', line 49
def self.logger
if @@logger.nil?
if @@config.log_path.nil? or @@config.log_path.empty?
@@logger = Logger.new STDOUT
else
@@logger = Logger.new File.join(@@config.log_path, 'crawler.log')
end
end
@@logger
end
|
.read_crabfile(_path) ⇒ Object
61
62
63
|
# File 'lib/crabfarm.rb', line 61
def self.read_crabfile(_path)
@@config.instance_eval File.read _path
end
|
.root ⇒ Object
33
34
35
|
# File 'lib/crabfarm.rb', line 33
def self.root
File.dirname __dir__
end
|
.with_context(_memento = nil) ⇒ Object
87
88
89
90
91
92
93
94
95
|
# File 'lib/crabfarm.rb', line 87
def self.with_context(_memento=nil)
ctx = Factories::Context.build _memento
begin
ctx.prepare
yield ctx
ensure
ctx.release
end
end
|