Class: Blinkr::Config

Inherits:
OpenStruct show all
Defined in:
lib/blinkr/config.rb

Constant Summary collapse

DEFAULTS =
{:skips => [], :ignores => [], :max_retrys => 3, :browser => 'typhoeus',
 :viewport => 1200, :phantomjs_threads => 8, :report => 'blinkr.html',
 :warning_on_300s => false
}

Constants inherited from OpenStruct

OpenStruct::EXCEPT

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from OpenStruct

#to_json

Constructor Details

#initialize(hash = {}) ⇒ Config

Returns a new instance of Config.



16
17
18
# File 'lib/blinkr/config.rb', line 16

def initialize(hash={})
  super(DEFAULTS.merge(hash))
end

Class Method Details

.read(file, args) ⇒ Object



6
7
8
9
# File 'lib/blinkr/config.rb', line 6

def self.read file, args
  raise "Cannot read #{file}" unless File.exists? file
  Config.new(YAML.load_file(file).merge(args).merge({ :config_file => file }))
end

Instance Method Details

#ignored?(url, code, message) ⇒ Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/blinkr/config.rb', line 41

def ignored? url, code, message
  ignores.any? { |ignore| ( !url.nil? && ignore.has_key?('url') ? !ignore['url'].match(url).nil? : true )  && ( !code.nil? && ignore.has_key?('code') ? ignore['code'] == code : true ) && ( !message.nil? && ignore.has_key?('message') ? !ignore['message'].match(message).nil? : true ) }
end

#max_page_retrysObject



35
36
37
38
39
# File 'lib/blinkr/config.rb', line 35

def max_page_retrys
  r = super || max_retrys
  raise "Retrys is nil" if r.nil?
  r
end

#sitemapObject



27
28
29
30
31
32
33
# File 'lib/blinkr/config.rb', line 27

def sitemap
  if super.nil?
    URI.join(base_url, 'sitemap.xml').to_s 
  else
    super
  end
end

#skipped?(url) ⇒ Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/blinkr/config.rb', line 45

def skipped? url
  skips.any? { |regex| regex.match(url) }
end

#validateObject



20
21
22
23
24
25
# File 'lib/blinkr/config.rb', line 20

def validate
  ignores.each {|ignore| raise "An ignore must be a hash" unless ignore.is_a? Hash}
  raise "Must specify base_url" if base_url.nil?
  raise "Must specify sitemap" if sitemap.nil?
  self
end