Module: Vapir::TableRow
- Extended by:
- ElementHelper
- Defined in:
- lib/vapir-common/elements/elements.rb
Instance Method Summary collapse
-
#[](index) ⇒ Object
returns the TableCell at the specified index.
-
#cell(first = nil, second = nil) ⇒ Object
returns a TableCell which is a cell of this of this row (not in a nested table).
-
#cell_at_column(index) ⇒ Object
returns the cell of the current row at the given column index (starting from 0), taking into account conSpans of other cells.
-
#cell_at_column!(index) ⇒ Object
returns the cell of the current row at the given column index (starting from 0), taking into account conSpans of other cells.
-
#cell_count ⇒ Object
the number of cells in this row.
-
#column_count ⇒ Object
the number of columns in this row, accounting for cells with a colspan attribute greater than 1.
-
#column_count_where ⇒ Object
returns the column index (starting at 0), taking into account colspans, of the table cell for which the given block returns true.
-
#each_cell ⇒ Object
(also: #each)
Iterate over each cell in the row.
Methods included from ElementHelper
add_specifier, container_collection_method, container_single_method, included
Methods included from ElementClassAndModuleMethods
#add_container_method_extra_args, #all_dom_attr_aliases, #all_dom_attrs, #class_array_append, #class_array_get, #class_hash_get, #class_hash_merge, #container_collection_methods, #container_method_extra_args, #container_single_methods, #default_how, #dom_attr, #dom_attr_locate_alias, #dom_function, #dom_setter, #element_collection, #factory, #inspect_these, #inspect_this_if, #parent_element_module, #set_or_get_class_var, #specifiers
Instance Method Details
#[](index) ⇒ Object
returns the TableCell at the specified index
799 800 801 |
# File 'lib/vapir-common/elements/elements.rb', line 799 def [](index) cells[index] end |
#cell(first = nil, second = nil) ⇒ Object
returns a TableCell which is a cell of this of this row (not in a nested table). takes the usual arguments for specifying what you want - see github.com/vapir/vapir/wiki/Locators
786 787 788 |
# File 'lib/vapir-common/elements/elements.rb', line 786 def cell(first=nil, second=nil) element_by_howwhat(element_class_for(Vapir::TableCell), first, second, :extra => {:candidates => :cells}) end |
#cell_at_column(index) ⇒ Object
returns the cell of the current row at the given column index (starting from 0), taking into account conSpans of other cells.
returns nil if index is greater than the number of columns of this row.
832 833 834 835 836 837 838 839 |
# File 'lib/vapir-common/elements/elements.rb', line 832 def cell_at_column(index) #TODO: test cells.each_by_index do |cell| index=index-(cell.colSpan || 1) return cell if index < 0 end nil end |
#cell_at_column!(index) ⇒ Object
returns the cell of the current row at the given column index (starting from 0), taking into account conSpans of other cells.
raises exception if the cell does not exist (that is, index is greater than the number of columns of this row).
845 846 847 848 |
# File 'lib/vapir-common/elements/elements.rb', line 845 def cell_at_column!(index) #TODO: test cell_at_column(index) || raise(Vapir::Exception::UnknownObjectException, "Unable to locate cell at column #{index}. Column count is #{column_count}\non container: #{@container.inspect}") end |
#cell_count ⇒ Object
the number of cells in this row
811 812 813 |
# File 'lib/vapir-common/elements/elements.rb', line 811 def cell_count cells.length end |
#column_count ⇒ Object
the number of columns in this row, accounting for cells with a colspan attribute greater than 1
804 805 806 807 808 |
# File 'lib/vapir-common/elements/elements.rb', line 804 def column_count cells.inject(0) do |count, cell| count+ (cell.colSpan || 1) end end |
#column_count_where ⇒ Object
returns the column index (starting at 0), taking into account colspans, of the table cell for which the given block returns true.
if nothing matches the block, returns nil.
818 819 820 821 822 823 824 825 826 |
# File 'lib/vapir-common/elements/elements.rb', line 818 def column_count_where # :yields: table_cell cells.inject(0) do |count, cell| if yield cell return count end count+(cell.colSpan || 1) end nil end |
#each_cell ⇒ Object Also known as: each
Iterate over each cell in the row. same as #cells.each.
791 792 793 794 795 |
# File 'lib/vapir-common/elements/elements.rb', line 791 def each_cell cells.each do |cell| yield cell end end |