class Capybara::Selector

Attributes

custom_filters[R]
format[R]
name[R]

Public Class 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
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
remove(name) click to toggle source
# File lib/capybara/selector.rb, line 38
def remove(name)
  all.delete(name.to_sym)
end

Public Instance Methods

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
xpath(&block) click to toggle source
# File lib/capybara/selector.rb, line 53
def xpath(&block)
  @format = :xpath
  @xpath = block if block
  @xpath
end