tidy_table 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +4 -0
- data/lib/tidy_table.rb +30 -4
- data/spec/tidy_table_spec.rb +6 -0
- metadata +4 -4
data/History.txt
CHANGED
data/lib/tidy_table.rb
CHANGED
@@ -1,7 +1,18 @@
|
|
1
1
|
##
|
2
|
-
#
|
2
|
+
# This is yet another library to convert an ActiveRecord array (or any struct)
|
3
|
+
# to an HTML table.
|
3
4
|
#
|
4
|
-
#
|
5
|
+
# You get a table with a bunch of CSS classes automatically applied (or
|
6
|
+
# customize it with your own classes and ids). For example, first_row (is also
|
7
|
+
# a th tag), first_column, last_column, even & odd (for rows).
|
8
|
+
#
|
9
|
+
# Other tags like thead and tbody may be added in the future.
|
10
|
+
#
|
11
|
+
# Simple example with an ActiveRecord object:
|
12
|
+
#
|
13
|
+
# <%= TidyTable.new(@records).to_html(%w(title description created_at)) %>
|
14
|
+
#
|
15
|
+
# You also format the row values with a block:
|
5
16
|
#
|
6
17
|
# <%= TidyTable.new(@records, :table_class => "revenue_report").to_html(%w(resource visits min max)) do |row|
|
7
18
|
# [
|
@@ -12,10 +23,14 @@
|
|
12
23
|
# ]
|
13
24
|
# end %>
|
14
25
|
#
|
26
|
+
# Or in HAML:
|
27
|
+
#
|
28
|
+
# = TidyTable.new(@records, :table_class => "revenue_report").to_html(%w(resource visits min max)) do |row|
|
29
|
+
# - [ row.resource, number_with_delimiter(row.visit_count), row.min, row.max ]
|
15
30
|
|
16
31
|
class TidyTable
|
17
32
|
|
18
|
-
VERSION = '0.0.
|
33
|
+
VERSION = '0.0.5'
|
19
34
|
|
20
35
|
##
|
21
36
|
# Make a new TidyTable with a data array and CSS options.
|
@@ -24,6 +39,9 @@ class TidyTable
|
|
24
39
|
# * :first_row_class -- Defaults to 'first_row'
|
25
40
|
# * :first_column_class -- Defaults to 'first_column'
|
26
41
|
# * :last_column_class -- Defaults to 'last_column'
|
42
|
+
# * :title -- Title for this table. Emits an extra header row
|
43
|
+
# spanning all columns.
|
44
|
+
# * :title_class -- CSS class for the title th. Default: 'title'
|
27
45
|
#
|
28
46
|
# You also get 'even' and 'odd' for free (rows only).
|
29
47
|
|
@@ -33,7 +51,8 @@ class TidyTable
|
|
33
51
|
:table_class => "tidy_table",
|
34
52
|
:first_row_class => "first_row",
|
35
53
|
:first_column_class => "first_column",
|
36
|
-
:last_column_class => "last_column"
|
54
|
+
:last_column_class => "last_column",
|
55
|
+
:title_class => "title"
|
37
56
|
}.merge(options)
|
38
57
|
end
|
39
58
|
|
@@ -55,6 +74,13 @@ class TidyTable
|
|
55
74
|
output = []
|
56
75
|
output << %(<table class="#{@options[:table_class]}">)
|
57
76
|
|
77
|
+
# Title
|
78
|
+
if @options.has_key?(:title)
|
79
|
+
output << %(<tr class="#{@options[:first_row_class]}">)
|
80
|
+
output << %(<th class="#{@options[:title_class]} #{@options[:first_row_class]} #{@options[:first_column_class]}" colspan="#{fields.length}">#{@options[:title]}</th>)
|
81
|
+
output << %(</tr>)
|
82
|
+
end
|
83
|
+
|
58
84
|
# First row (header)
|
59
85
|
output << %(<tr class="#{@options[:first_row_class]}">)
|
60
86
|
fields.each_with_index do |field, index|
|
data/spec/tidy_table_spec.rb
CHANGED
@@ -58,4 +58,10 @@ describe TidyTable do
|
|
58
58
|
}.should raise_error(ArgumentError)
|
59
59
|
end
|
60
60
|
|
61
|
+
it "should show title" do
|
62
|
+
t = TidyTable.new(@records, :title => "Report of Doom")
|
63
|
+
output = t.to_html([:title, :description])
|
64
|
+
output.should match(/Report of Doom/)
|
65
|
+
end
|
66
|
+
|
61
67
|
end
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.4
|
3
3
|
specification_version: 1
|
4
4
|
name: tidy_table
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.0.5
|
7
|
+
date: 2007-11-14 00:00:00 -08:00
|
8
8
|
summary: Yet another library for converting a struct into an HTML table.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -59,5 +59,5 @@ dependencies:
|
|
59
59
|
requirements:
|
60
60
|
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 1.
|
62
|
+
version: 1.3.0
|
63
63
|
version:
|