class Snapcrawl::Config

Public Class Methods

load(file = nil) click to toggle source
# File lib/snapcrawl/config.rb, line 7
def load(file = nil)
  reset!
  push defaults
  
  return unless file

  file = "#{file}.yml" unless file =~ /\.ya?ml$/

  # FIXME: Cannot use logger here due to the "chicken and egg" with
  #        Config. The $logger is available, but it was not yet fully
  #        configured with log_level etc.
  if File.exist? file
    # $logger.debug "loading config file !txtgrn!#{file}"
    push file
  else
    # $logger.debug "creating config file !txtgrn!#{file}"
    create_config file
  end
end

Private Class Methods

config_template() click to toggle source
# File lib/snapcrawl/config.rb, line 55
def config_template
  File.expand_path 'templates/config.yml', __dir__
end
create_config(file) click to toggle source
# File lib/snapcrawl/config.rb, line 48
def create_config(file)
  content = File.read config_template
  dir = File.dirname file
  FileUtils.mkdir_p dir
  File.write file, content
end
defaults() click to toggle source
# File lib/snapcrawl/config.rb, line 29
def defaults
  {
    depth: 1,
    width: 1280,
    height: 0,
    cache_life: 86400,
    cache_dir: 'cache',
    snaps_dir: 'snaps',
    name_template: '%{url}',
    url_whitelist: nil,
    url_blacklist: nil,
    css_selector: nil,
    log_level: 1,
    log_color: 'auto',
    skip_ssl_verification: false,
    screenshot_delay: nil
  }
end