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
27
# 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
  @chrome_args = []
end

Instance Attribute Details

#chrome_argsObject

Returns the value of attribute chrome_args.



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

def chrome_args
  @chrome_args
end

#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



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

def allow_unknown_urls
  allow_url(/.*/)
end

#allow_url(url) ⇒ Object



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

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

#block_unknown_urlsObject



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

def block_unknown_urls
  @block_unknown_urls = true
end

#block_url(url) ⇒ Object



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

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

#block_url?(url) ⇒ Boolean

Returns:

  • (Boolean)


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

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



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

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

#skip_image_loadingObject



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

def skip_image_loading
  @skip_image_loading = true
end

#skip_image_loading?Boolean

Returns:

  • (Boolean)


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

def skip_image_loading?
  @skip_image_loading
end

#trap_interrupt?Boolean

Returns:

  • (Boolean)


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

def trap_interrupt?
  @trap_interrupt
end

#url_allowed?(url) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#url_match?(pattern, url) ⇒ Boolean

Returns:

  • (Boolean)


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

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