Sha256: 6a94f8be57cc2b70ad37af6c933781b53a20a14e36bcd8a00152f1767f080f8f
Contents?: true
Size: 1.03 KB
Versions: 6
Compression:
Stored size: 1.03 KB
Contents
module Druid module Elements class TableRow < Element # # Return the Druid::Elements::TableCell for the index provided. Index # is zero based. If the index provided is a String then it # will be matched with the text from the columns in the first row. # def [](idx) idx = find_index_by_title(idx) if idx.kind_of?(String) return nil unless idx && columns >= idx + 1 Druid::Elements::TableCell.new(element[idx]) end # # Returns the number of rows in the table. # def columns element.cells.size end def each for index in 1..self.columns do yield self[index-1] end end private def find_index_by_title(title) table = element.parent table = table.parent if table.tag_name == 'tbody' first_row = table[0] first_row.cells.find_index { |column| column.text.include? title} end end Druid::Elements.tag_to_class[:tr] = Druid::Elements::TableRow end end
Version data entries
6 entries across 6 versions & 1 rubygems