class Cucumber::Salad::Widgets::List

Constants

DEFAULT_TYPE

Attributes

item_selector[W]

Public Class Methods

item(selector, type = DEFAULT_TYPE, &item_for) click to toggle source
# File lib/cucumber/salad/widgets/list.rb, line 11
def self.item(selector, type = DEFAULT_TYPE, &item_for)
  define_method :item_selector do
    @item_selector ||= selector
  end

  if block_given?
    define_method :item_for, &item_for
  else
    define_method :item_factory do
      type
    end
  end
end

Public Instance Methods

to_table() click to toggle source
# File lib/cucumber/salad/widgets/list.rb, line 25
def to_table
  items.map { |e| Array(e) }
end

Protected Instance Methods

item_factory() click to toggle source
# File lib/cucumber/salad/widgets/list.rb, line 33
def item_factory
  DEFAULT_TYPE
end
item_for(node) click to toggle source
# File lib/cucumber/salad/widgets/list.rb, line 37
def item_for(node)
  item_factory.new(root: node)
end
item_selector() click to toggle source
# File lib/cucumber/salad/widgets/list.rb, line 41
def item_selector
  'li'
end
items() click to toggle source
# File lib/cucumber/salad/widgets/list.rb, line 45
def items
  root.all(item_selector).map { |node| item_for(node) }
end