class Capybara::Selector
Attributes
custom_filters[R]
format[R]
name[R]
Public Class Methods
new(name, &block)
click to toggle source
# File lib/capybara/selector.rb, line 43 def initialize(name, &block) @name = name @custom_filters = {} @match = nil @label = nil @failure_message = nil @description = nil instance_eval(&block) end
Public Instance Methods
add(name, &block)
click to toggle source
# File lib/capybara/selector.rb, line 34 def add(name, &block) all[name.to_sym] = Capybara::Selector.new(name.to_sym, &block) end
all()
click to toggle source
# File lib/capybara/selector.rb, line 30 def all @selectors ||= {} end
call(locator)
click to toggle source
# File lib/capybara/selector.rb, line 80 def call(locator) if @format==:css @css.call(locator) else @xpath.call(locator) end end
css(&block)
click to toggle source
Same as xpath, but wrap in XPath.css().
# File lib/capybara/selector.rb, line 60 def css(&block) @format = :css @css = block if block @css end
describe(&block)
click to toggle source
# File lib/capybara/selector.rb, line 96 def describe &block @description = block end
description(options={})
click to toggle source
# File lib/capybara/selector.rb, line 76 def description(options={}) (@description && @description.call(options)).to_s end
filter(name, options={}, &block)
click to toggle source
# File lib/capybara/selector.rb, line 92 def filter(name, options={}, &block) @custom_filters[name] = Filter.new(name, block, options) end
label(label=nil)
click to toggle source
# File lib/capybara/selector.rb, line 71 def label(label=nil) @label = label if label @label end
match(&block)
click to toggle source
# File lib/capybara/selector.rb, line 66 def match(&block) @match = block if block @match end
match?(locator)
click to toggle source
# File lib/capybara/selector.rb, line 88 def match?(locator) @match and @match.call(locator) end
remove(name)
click to toggle source
# File lib/capybara/selector.rb, line 38 def remove(name) all.delete(name.to_sym) end
xpath(&block)
click to toggle source
# File lib/capybara/selector.rb, line 53 def xpath(&block) @format = :xpath @xpath = block if block @xpath end