class Capybara::UI::Table::Columns
Attributes
parent[R]
Public Class Methods
new(parent)
click to toggle source
# File lib/capybara/ui/widgets/table.rb, line 31 def initialize(parent) @parent = parent end
Public Instance Methods
[](header_or_index)
click to toggle source
# File lib/capybara/ui/widgets/table.rb, line 35 def [](header_or_index) case header_or_index when Integer values_by_index(header_or_index) when String values_by_header(header_or_index) else raise TypeError, "can't convert #{header_or_index.inspect} to Integer or String" end end
each(&block)
click to toggle source
# File lib/capybara/ui/widgets/table.rb, line 47 def each(&block) parent.each(&block) end
Private Instance Methods
find_header_index(header)
click to toggle source
# File lib/capybara/ui/widgets/table.rb, line 63 def find_header_index(header) parent.widget(:header_row).value.find_index(header) or raise ArgumentError, "header not found: #{header.inspect}" end
values_by_header(header)
click to toggle source
# File lib/capybara/ui/widgets/table.rb, line 59 def values_by_header(header) values_by_index(find_header_index(header)) end
values_by_index(index)
click to toggle source
# File lib/capybara/ui/widgets/table.rb, line 55 def values_by_index(index) parent.rows.transpose[index] end