Sha256: 8264b1af67e6394582fd8622ba884d4e2e6fbdcd8e735125e2caf5100378cc32
Contents?: true
Size: 929 Bytes
Versions: 15
Compression:
Stored size: 929 Bytes
Contents
module Watir class Table < HTMLElement include RowContainer # # Represents table rows as hashes # # @return [Array<Hash>] # def hashes all_rows = rows.to_a header_row = all_rows.shift or raise Exception::Error, "no rows in table" headers = header_row.ths.map { |header_cell| header_cell.text } result = [] all_rows.each_with_index do |row, idx| cells = row.cells.to_a if cells.length != headers.length raise Exception::Error, "row at index #{idx} has #{cells.length} cells, expected #{headers.length}" end result << headers.inject({}) { |res, header| res.merge(header => cells.shift.text) } end result end # # Returns row of this table with given index. # # @param [Integer] idx # @return Watir::Row # def [](idx) row(:index, idx) end end # Table end # Watir
Version data entries
15 entries across 15 versions & 1 rubygems