Class: Capybara::Chrome::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/capybara/chrome/configuration.rb

Constant Summary collapse

DEFAULT_ALLOWED_URLS =
[
  %r(.*127\.0\.0\.1),
  %r(.*localhost),
  "data:*,*"
].freeze
DEFAULT_MAX_WAIT_TIME =
10
DEFAULT_DOWNLOAD_PATH =
"/tmp"
DEFAULT_CHROME_PORT =

set Capybara::Chrome::Configuration.chrome_port = 9222 for easy debugging

nil
DEFAULT_TRAP_INTERRUPT =
true
DEFAULT_DEBUG =
false

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



18
19
20
21
22
23
24
25
26
# File 'lib/capybara/chrome/configuration.rb', line 18

def initialize
  @allowed_urls = DEFAULT_ALLOWED_URLS.dup
  @blocked_urls = []
  @max_wait_time = DEFAULT_MAX_WAIT_TIME
  @download_path = DEFAULT_DOWNLOAD_PATH
  @chrome_port = DEFAULT_CHROME_PORT
  @trap_interrupt = DEFAULT_TRAP_INTERRUPT
  @debug = DEFAULT_DEBUG
end

Instance Attribute Details

#chrome_portObject

Returns the value of attribute chrome_port.



16
17
18
# File 'lib/capybara/chrome/configuration.rb', line 16

def chrome_port
  @chrome_port
end

#debugObject

Returns the value of attribute debug.



16
17
18
# File 'lib/capybara/chrome/configuration.rb', line 16

def debug
  @debug
end

#download_pathObject

Returns the value of attribute download_path.



16
17
18
# File 'lib/capybara/chrome/configuration.rb', line 16

def download_path
  @download_path
end

#max_wait_timeObject

Returns the value of attribute max_wait_time.



16
17
18
# File 'lib/capybara/chrome/configuration.rb', line 16

def max_wait_time
  @max_wait_time
end

#trap_interruptObject

Returns the value of attribute trap_interrupt.



16
17
18
# File 'lib/capybara/chrome/configuration.rb', line 16

def trap_interrupt
  @trap_interrupt
end

Instance Method Details

#allow_unknown_urlsObject



32
33
34
# File 'lib/capybara/chrome/configuration.rb', line 32

def allow_unknown_urls
  allow_url(/.*/)
end

#allow_url(url) ⇒ Object



40
41
42
# File 'lib/capybara/chrome/configuration.rb', line 40

def allow_url(url)
  @allowed_urls << re_url(url)
end

#block_unknown_urlsObject



28
29
30
# File 'lib/capybara/chrome/configuration.rb', line 28

def block_unknown_urls
  @block_unknown_urls = true
end

#block_url(url) ⇒ Object



44
45
46
# File 'lib/capybara/chrome/configuration.rb', line 44

def block_url(url)
  @blocked_urls << re_url(url)
end

#block_url?(url) ⇒ Boolean

Returns:

  • (Boolean)


56
57
58
59
60
61
62
# File 'lib/capybara/chrome/configuration.rb', line 56

def block_url?(url)
  if url_allowed?(url)
    false
  else
    @block_unknown_urls || @blocked_urls.detect {|pattern| url_match?(pattern, url)}
  end
end

#re_url(url) ⇒ Object



36
37
38
# File 'lib/capybara/chrome/configuration.rb', line 36

def re_url(url)
  url.is_a?(Regexp) ? url : Regexp.new(Regexp.escape(url))
end

#skip_image_loadingObject



64
65
66
# File 'lib/capybara/chrome/configuration.rb', line 64

def skip_image_loading
  @skip_image_loading = true
end

#skip_image_loading?Boolean

Returns:

  • (Boolean)


68
69
70
# File 'lib/capybara/chrome/configuration.rb', line 68

def skip_image_loading?
  @skip_image_loading
end

#trap_interrupt?Boolean

Returns:

  • (Boolean)


72
73
74
# File 'lib/capybara/chrome/configuration.rb', line 72

def trap_interrupt?
  @trap_interrupt
end

#url_allowed?(url) ⇒ Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/capybara/chrome/configuration.rb', line 52

def url_allowed?(url)
  @allowed_urls.detect {|pattern| url_match?(pattern, url)}
end

#url_match?(pattern, url) ⇒ Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/capybara/chrome/configuration.rb', line 48

def url_match?(pattern, url)
  pattern === url
end