Module: Workarea::Configuration::HeadlessChrome

Extended by:
HeadlessChrome
Included in:
HeadlessChrome
Defined in:
lib/workarea/configuration/headless_chrome.rb

Instance Method Summary collapse

Instance Method Details

#argsObject



33
34
35
# File 'lib/workarea/configuration/headless_chrome.rb', line 33

def args
  (Workarea.config.headless_chrome_args + env_args).uniq
end

#default_optionsObject



19
20
21
# File 'lib/workarea/configuration/headless_chrome.rb', line 19

def default_options
  { args: args, w3c: false }
end

#env_argsObject



37
38
39
# File 'lib/workarea/configuration/headless_chrome.rb', line 37

def env_args
  ENV['WORKAREA_HEADLESS_CHROME_ARGS'].to_s.split
end

#env_optionsObject



23
24
25
26
27
28
29
30
31
# File 'lib/workarea/configuration/headless_chrome.rb', line 23

def env_options
  parsed = if ENV['WORKAREA_HEADLESS_CHROME_OPTIONS'].blank?
    {}
  else
    JSON.parse(ENV['WORKAREA_HEADLESS_CHROME_OPTIONS'])
  end

  parsed.symbolize_keys
end

#loadObject

TODO v3.5

Allow apps to configure both Chrome options and arguments separately, as any given release to Chrome may require changing these separately.



11
12
13
# File 'lib/workarea/configuration/headless_chrome.rb', line 11

def load
  Workarea.config.headless_chrome_args = Workarea.config.headless_chrome_options
end

#optionsObject



15
16
17
# File 'lib/workarea/configuration/headless_chrome.rb', line 15

def options
  default_options.merge(env_options)
end