# File lib/capybara/selector.rb, line 30 def add(name, &block) all[name.to_sym] = Capybara::Selector.new(name.to_sym, &block) end
# File lib/capybara/selector.rb, line 26 def all @selectors ||= {} end
# File lib/capybara/selector.rb, line 39 def initialize(name, &block) @name = name @custom_filters = {} @match = nil @label = nil @failure_message = nil instance_eval(&block) end
# File lib/capybara/selector.rb, line 34 def remove(name) all.delete(name.to_sym) end
# File lib/capybara/selector.rb, line 71 def call(locator) if @format==:css @css.call(locator) else @xpath.call(locator) end end
Same as xpath, but wrap in XPath.css().
# File lib/capybara/selector.rb, line 55 def css(&block) @format = :css @css = block if block @css end
# File lib/capybara/selector.rb, line 83 def filter(name, options={}, &block) @custom_filters[name] = Filter.new(name, block, options) end
# File lib/capybara/selector.rb, line 66 def label(label=nil) @label = label if label @label end
# File lib/capybara/selector.rb, line 61 def match(&block) @match = block if block @match end
# File lib/capybara/selector.rb, line 79 def match?(locator) @match and @match.call(locator) end
# File lib/capybara/selector.rb, line 48 def xpath(&block) @format = :xpath @xpath = block if block @xpath end