Module: Capybara::Helpers Private

Defined in:
lib/capybara/helpers.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Defined Under Namespace

Classes: Timer

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.declension(singular, plural, count) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

A poor man's pluralize. Given two declensions, one singular and one plural, as well as a count, this will pick the correct declension. This way we can generate grammatically correct error message.

Parameters:

  • singular (String)

    The singular form of the word

  • plural (String)

    The plural form of the word

  • count (Integer)

    The number of items

 69 70 71
# File 'lib/capybara/helpers.rb', line 69 def declension(singular, plural, count) count == 1 ? singular : plural end 

.filter_backtrace(trace) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

 73 74 75 76 77 78 79 80 81 82
# File 'lib/capybara/helpers.rb', line 73 def filter_backtrace(trace) return 'No backtrace' unless trace filter = %r{lib/capybara/|lib/rspec/|lib/minitest/|delegate.rb} new_trace = trace.take_while { |line| line !~ filter } new_trace = trace.grep_v(filter) if new_trace.empty? new_trace = trace.dup if new_trace.empty? new_trace.first.split(':in ', 2).first end 

.inject_asset_host(html, host: Capybara.asset_host) ⇒ String

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Injects a <base> tag into the given HTML code, pointing to asset_host.

Parameters:

  • html (String)

    HTML code to inject into

  • host (URL) (defaults to: Capybara.asset_host)

    (Capybara.asset_host) The host from which assets should be loaded

Returns:

  • (String)

    The modified HTML code

 50 51 52 53 54 55 56 57
# File 'lib/capybara/helpers.rb', line 50 def inject_asset_host(html, host: Capybara.asset_host) if host && Nokogiri::HTML(html).css('base').empty? html.match(/<head[^<]*?>/) do |m| return html.clone.insert m.end(0), "<base href='#{host}' />" end end html end 

.normalize_whitespace(text) ⇒ String

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.

Normalizes whitespace space by stripping leading and trailing whitespace and replacing sequences of whitespace characters with a single space.

Parameters:

  • text (String)

    Text to normalize

Returns:

  • (String)

    Normalized text

 17 18 19 20
# File 'lib/capybara/helpers.rb', line 17 def normalize_whitespace(text) Capybara::Helpers.warn 'DEPRECATED: Capybara::Helpers::normalize_whitespace is deprecated, please update your driver' text.to_s.gsub(/[[:space:]]+/, ' ').strip end 

.timer(expire_in:) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

 98 99 100
# File 'lib/capybara/helpers.rb', line 98 def timer(expire_in:) Timer.new(expire_in) end 

.to_regexp(text, exact: false, all_whitespace: false, options: nil) ⇒ Regexp

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Escapes any characters that would have special meaning in a regexp if text is not a regexp

Parameters:

  • text (String)

    Text to escape

  • exact (Boolean) (defaults to: false)

    (false) Whether or not this should be an exact text match

  • options (Fixnum, Boolean, nil) (defaults to: nil)

    Options passed to Regexp.new when creating the Regexp

Returns:

  • (Regexp)

    Regexp to match the passed in text and options

 32 33 34 35 36 37 38 39
# File 'lib/capybara/helpers.rb', line 32 def to_regexp(text, exact: false, all_whitespace: false, options: nil) return text if text.is_a?(Regexp) escaped = Regexp.escape(text) escaped = escaped.gsub('\\ ', '[[:blank:]]') if all_whitespace escaped = "\\A#{escaped}\\z" if exact Regexp.new(escaped, options) end 

.warn(message, uplevel: 1) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

 84 85 86
# File 'lib/capybara/helpers.rb', line 84 def warn(message, uplevel: 1) Kernel.warn(message, uplevel: uplevel) end 

Instance Method Details

#monotonic_timeObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

 89
# File 'lib/capybara/helpers.rb', line 89 def monotonic_time; Process.clock_gettime Process::CLOCK_MONOTONIC_RAW; end