Class: StHtmlTable::Table

Inherits:
Object
  • Object
show all
Defined in:
lib/st_html_table/table.rb

Instance Method Summary collapse

Constructor Details

#initializeTable

:nodoc:



4
5
6
# File 'lib/st_html_table/table.rb', line 4

def initialize # :nodoc:
  init_table
end

Instance Method Details

#create(header, padding: 5, width: 0) ⇒ None

Метод создает таблицу с строкой-заголовком. Данный метод должен быть вызван первым, поскольку именно он определяет число столбцов в будущей таблице

Parameters:

  • header (Hash)

    хеш вида column id => title of column

  • padding (Integer) (defaults to: 5)

    аналог cellpadding тега <table>

  • width (Integer) (defaults to: 0)

    ширина таблицы в процентах

Returns:

  • (None)

    нет



15
16
17
18
19
20
# File 'lib/st_html_table/table.rb', line 15

def create(header, padding: 5, width: 0)
  init_table
  @padding = padding
  @width = width
  init_header(header)
end

#get_row(id) ⇒ StHtmlTable::Row

Метод возвращает ряд таблицы по идентификатору ряда. Если ряд с таким id отсуствует - он будет создан

Parameters:

  • id (Object)

    идентфикатор строки

Returns:



33
34
35
36
# File 'lib/st_html_table/table.rb', line 33

def get_row(id)
  init_row(id) if @rows[id].nil?
  @rows[id]
end

#row_keysArray

Метод возвращает все идентифкаторы столбцов таблицы

Returns:

  • (Array)

    массив идентификаторов столбцов таблицы



25
26
27
# File 'lib/st_html_table/table.rb', line 25

def row_keys
  @header.row_keys
end

#to_htmlString

Метод переводит таблицы в форматированный HTML

Returns:

  • (String)

    таблица в формате HTML



41
42
43
44
45
46
47
48
49
50
# File 'lib/st_html_table/table.rb', line 41

def to_html
  out = Array.new
  out << build_table_row
  out << build_header_row
  @rows.each do |row_id, row|
    out << row.to_html
  end
  out << "</table>"
  out.join("\n")
end