Module: Kimurai::BrowserBuilder

Defined in:
lib/kimurai/browser_builder.rb,
lib/kimurai/browser_builder/mechanize_builder.rb,
lib/kimurai/browser_builder/selenium_chrome_builder.rb,
lib/kimurai/browser_builder/selenium_firefox_builder.rb

Defined Under Namespace

Classes: MechanizeBuilder, SeleniumChromeBuilder, SeleniumFirefoxBuilder

Constant Summary collapse

ENGINE_ALIASES =
{
  chrome: :selenium_chrome,
  firefox: :selenium_firefox
}.freeze

Class Method Summary collapse

Class Method Details

.build(engine, config = {}, spider:) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/kimurai/browser_builder.rb', line 8

def self.build(engine, config = {}, spider:)
  engine = ENGINE_ALIASES.fetch(engine, engine)

  begin
    require "kimurai/browser_builder/#{engine}_builder"
  rescue LoadError
  end

  builder_class_name = "#{engine}_builder".classify
  builder = "Kimurai::BrowserBuilder::#{builder_class_name}".constantize
  builder.new(config, spider: spider).build
end