tabulatr 0.2.0 → 0.3.0
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/Changelog.textile +9 -0
- data/README.textile +6 -1
- data/app/assets/images/tabulatr/buttons_lite_background.png +0 -0
- data/app/assets/images/tabulatr/pager_arrow_left.gif +0 -0
- data/app/assets/images/tabulatr/pager_arrow_left_off.gif +0 -0
- data/app/assets/images/tabulatr/pager_arrow_right.gif +0 -0
- data/app/assets/images/tabulatr/pager_arrow_right_off.gif +0 -0
- data/app/assets/images/tabulatr/sort_arrow_down.gif +0 -0
- data/app/assets/images/tabulatr/sort_arrow_down_off.gif +0 -0
- data/app/assets/images/tabulatr/sort_arrow_up.gif +0 -0
- data/app/assets/images/tabulatr/sort_arrow_up_off.gif +0 -0
- data/app/assets/stylesheets/tabulatr.css +1 -0
- data/app/assets/stylesheets/tabulatr/application.scss +102 -0
- data/lib/tabulatr.rb +1 -0
- data/lib/tabulatr/engine.rb +3 -0
- data/lib/tabulatr/tabulatr.rb +18 -1
- data/lib/tabulatr/tabulatr/finder.rb +2 -2
- data/lib/tabulatr/tabulatr/finder/find_for_table.rb +9 -4
- data/lib/tabulatr/tabulatr/header_cell.rb +5 -8
- data/lib/tabulatr/tabulatr/paginator.rb +10 -21
- data/lib/tabulatr/tabulatr/settings.rb +1 -1
- data/lib/tabulatr/version.rb +1 -1
- data/tabulatr.gemspec +1 -5
- metadata +63 -75
data/Changelog.textile
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
h1. Changelog for tabulatr
|
2
2
|
|
3
|
+
h2. 0.3.0
|
4
|
+
|
5
|
+
* Converted into a Rails 3.1 engine and moved css and images to use the new asset pipeline. Works with 3.0.x -- 'opefully. Thanks to all that reported the problem.
|
6
|
+
* Header cells are now auto translated. Thanks to <a href="https://github.com/niedhui">niedhui</a>!
|
7
|
+
|
8
|
+
h2. 0.2.1
|
9
|
+
|
10
|
+
* Fixed a ruby 1.8 syntax issue. Thanks to <a href="https://github.com/TBAA">TBAA</a> for reporting!
|
11
|
+
|
3
12
|
h2. 0.2.0
|
4
13
|
|
5
14
|
* Mongoid can also be used in place of ActiveRecord
|
data/README.textile
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
h1. Tabulatr - Index Tables made easy, finally
|
2
2
|
|
3
|
-
|
3
|
+
<b>Notes:</b>
|
4
|
+
|
5
|
+
<ul>
|
6
|
+
<li>there is a <a href="https://github.com/provideal/tabulatr-demo">demo app repository</a></li>
|
7
|
+
<li>note the spelling, it's tabulatr, not tabulat<b>o</b>r.
|
8
|
+
</ul>
|
4
9
|
|
5
10
|
h2. Mission Objective
|
6
11
|
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
/*= require tabulatr/application */
|
@@ -0,0 +1,102 @@
|
|
1
|
+
body {
|
2
|
+
font: 9pt Verdana;
|
3
|
+
}
|
4
|
+
|
5
|
+
table {
|
6
|
+
border-collapse: collapse;
|
7
|
+
width:100%;
|
8
|
+
}
|
9
|
+
|
10
|
+
td, th {
|
11
|
+
border: 1px solid gray;
|
12
|
+
padding:5px;
|
13
|
+
text-overflow: ellipsis;
|
14
|
+
white-space: nowrap;
|
15
|
+
overflow: ellipsis;
|
16
|
+
}
|
17
|
+
|
18
|
+
th {
|
19
|
+
background-color: #ccc;
|
20
|
+
text-shadow: 1px 1px 1px rgba(0,0,0,.2);
|
21
|
+
}
|
22
|
+
|
23
|
+
div.table-controls {
|
24
|
+
font: 9pt Verdana;
|
25
|
+
width: 100%-10px;
|
26
|
+
border: 1px solid gray;
|
27
|
+
padding:5px;
|
28
|
+
margin-bottom: 10px;
|
29
|
+
background-color: #eee;
|
30
|
+
border-radius: 5px;
|
31
|
+
position: relative;
|
32
|
+
}
|
33
|
+
|
34
|
+
div.table-controls input {
|
35
|
+
font: 9pt Verdana;
|
36
|
+
}
|
37
|
+
|
38
|
+
div.table-controls input[type=submit] {
|
39
|
+
position: relative;
|
40
|
+
background-repeat: repeat-x;
|
41
|
+
color: #efefef;
|
42
|
+
font-weight: bold;
|
43
|
+
display: inline-block;
|
44
|
+
text-decoration: none;
|
45
|
+
border-width: 1px;
|
46
|
+
border-style: solid;
|
47
|
+
padding: 0 12px;
|
48
|
+
margin: 0;
|
49
|
+
text-shadow: 1px 1px 1px rgba(0,0,0,.2);
|
50
|
+
-moz-box-shadow: 1px 1px 1px rgba(0,0,0,.25);
|
51
|
+
-webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.25);
|
52
|
+
box-shadow: 1px 1px 1px rgba(0,0,0,.25);
|
53
|
+
-moz-border-radius: 5px;
|
54
|
+
-webkit-border-radius: 5px;
|
55
|
+
border-radius: 5px;
|
56
|
+
cursor: pointer;
|
57
|
+
background-position: 0 -80px;
|
58
|
+
font-size: 11px;
|
59
|
+
height: 24px;
|
60
|
+
line-height: 24px;
|
61
|
+
}
|
62
|
+
|
63
|
+
div.table-controls input[type=submit] {
|
64
|
+
background-image: asset-url("buttons_lite_background.png", "image");
|
65
|
+
background-color: #263849;
|
66
|
+
border-color: #16222c;
|
67
|
+
color: #efefef;
|
68
|
+
}
|
69
|
+
|
70
|
+
div.table-controls input[type=submit]:hover {
|
71
|
+
background-color: #16222c;
|
72
|
+
color: #efefef;
|
73
|
+
text-decoration: none;
|
74
|
+
}
|
75
|
+
|
76
|
+
div.paginator {
|
77
|
+
display: inline-block;
|
78
|
+
margin-right: 40px;
|
79
|
+
}
|
80
|
+
|
81
|
+
div.batch-actions {
|
82
|
+
display: inline-block;
|
83
|
+
}
|
84
|
+
|
85
|
+
div.check-controls {
|
86
|
+
margin-top: 10px;
|
87
|
+
position: absolute;
|
88
|
+
bottom: 5px;
|
89
|
+
right: 5px;
|
90
|
+
}
|
91
|
+
|
92
|
+
div.check-controls input[type=submit] {
|
93
|
+
font-size: 9px;
|
94
|
+
height: 20px;
|
95
|
+
line-height: 20px;
|
96
|
+
margin:3px;
|
97
|
+
}
|
98
|
+
|
99
|
+
div.info-text {
|
100
|
+
margin-top:10px;
|
101
|
+
font-size: 9pt;
|
102
|
+
}
|
data/lib/tabulatr.rb
CHANGED
data/lib/tabulatr/tabulatr.rb
CHANGED
@@ -42,6 +42,8 @@ class Tabulatr
|
|
42
42
|
include ActionView::Helpers::FormOptionsHelper
|
43
43
|
include ActionView::Helpers::TranslationHelper
|
44
44
|
include ActionView::Helpers::RecordTagHelper
|
45
|
+
# include ActionView::Helpers::AssetTagHelper
|
46
|
+
# include Rails::Application::Configurable
|
45
47
|
|
46
48
|
# Constructor of Tabulatr
|
47
49
|
#
|
@@ -57,7 +59,7 @@ class Tabulatr
|
|
57
59
|
@val = []
|
58
60
|
@record = nil
|
59
61
|
@row_mode = false
|
60
|
-
@classname, @id, @id_type = @records.__classinfo
|
62
|
+
@klaz, @classname, @id, @id_type = @records.__classinfo
|
61
63
|
@pagination = @records.__pagination
|
62
64
|
@filters = @records.__filters
|
63
65
|
@sorting = @records.__sorting
|
@@ -237,6 +239,21 @@ private
|
|
237
239
|
end
|
238
240
|
nil
|
239
241
|
end
|
242
|
+
|
243
|
+
def make_image_button(iname, options)
|
244
|
+
inactive = options.delete(:inactive)
|
245
|
+
psrc = @view.image_path File.join(@table_options[:image_path_prefix], iname)
|
246
|
+
if !inactive
|
247
|
+
make_tag(:input,
|
248
|
+
options.merge(
|
249
|
+
:type => 'image',
|
250
|
+
:src => psrc
|
251
|
+
)
|
252
|
+
)
|
253
|
+
else
|
254
|
+
make_tag(:img, :src => psrc)
|
255
|
+
end
|
256
|
+
end
|
240
257
|
end
|
241
258
|
|
242
259
|
Dir[File.join(File.dirname(__FILE__), "tabulatr", "*.rb")].each do |file|
|
@@ -45,8 +45,8 @@ module Tabulatr::Finder
|
|
45
45
|
if !str.present?
|
46
46
|
[]
|
47
47
|
elsif str.starts_with?("GzB")
|
48
|
-
Zlib::Inflate.inflate(Base64.decode64(str[3..-1]))
|
49
|
-
|
48
|
+
Zlib::Inflate.inflate(Base64.decode64(str[3..-1])).split(
|
49
|
+
Tabulatr.table_form_options[:checked_separator])
|
50
50
|
else
|
51
51
|
IdStuffer.unstuff(str)
|
52
52
|
end
|
@@ -99,7 +99,8 @@ module Tabulatr::Finder
|
|
99
99
|
if opts[:stateful]
|
100
100
|
session = opts[:stateful]
|
101
101
|
sname = "#{cname}#{form_options[:state_session_postfix]}"
|
102
|
-
raise "give the session as the :stateful parameter in find_for_table
|
102
|
+
raise "give the session as the :stateful parameter in find_for_table, not a '#{session.class}'" \
|
103
|
+
unless session.is_a?(Rails::version.to_f >= 3.1 ? ActiveSupport::HashWithIndifferentAccess : ActionDispatch::Session::AbstractStore::SessionHash)
|
103
104
|
session[sname] ||= {}
|
104
105
|
|
105
106
|
if params["#{cname}#{form_options[:reset_state_postfix]}"]
|
@@ -188,19 +189,23 @@ module Tabulatr::Finder
|
|
188
189
|
page += 1 if paginate_options[:page_right]
|
189
190
|
page -= 1 if paginate_options[:page_left]
|
190
191
|
c = rel.count
|
192
|
+
# Group statments return a hash
|
193
|
+
c = c.count unless c.class == Fixnum
|
191
194
|
pages = (c/pagesize).ceil
|
192
195
|
page = [1, [page, pages].min].max
|
193
196
|
total = klaz
|
194
197
|
total = total.where(opts[:precondition]) if opts[:precondition]
|
198
|
+
# here too
|
195
199
|
total = total.count
|
200
|
+
total = total.count unless total.class == Fixnum
|
196
201
|
|
197
202
|
# Now, actually find the stuff
|
198
|
-
found = rel.limit(pagesize.to_i).offset(((page-1)*pagesize).to_i
|
199
|
-
|
203
|
+
found = rel.limit(pagesize.to_i).offset(((page-1)*pagesize).to_i
|
204
|
+
).order(order).to_a #, :include => includes
|
200
205
|
|
201
206
|
# finally, inject methods to retrieve the current 'settings'
|
202
207
|
found.define_singleton_method(:__filters) do filter_param end
|
203
|
-
found.define_singleton_method(:__classinfo) do [cname, id, id_type] end
|
208
|
+
found.define_singleton_method(:__classinfo) do [klaz, cname, id, id_type] end
|
204
209
|
found.define_singleton_method(:__pagination) do
|
205
210
|
{ :page => page, :pagesize => pagesize, :count => c, :pages => pages,
|
206
211
|
:pagesizes => paginate_options[:pagesizes],
|
@@ -37,25 +37,22 @@ class Tabulatr
|
|
37
37
|
bid = "#{@classname}#{@table_form_options[:sort_postfix]}"
|
38
38
|
opts = normalize_column_options opts
|
39
39
|
make_tag(:th, opts[:th_html]) do
|
40
|
-
concat(t(opts[:header] || name.
|
40
|
+
concat(t(opts[:header] || @klaz.human_attribute_name(name).titlecase), :escape_html)
|
41
41
|
if opts[:sortable] and @table_options[:sortable]
|
42
42
|
if @sorting and @sorting[:by].to_s == name.to_s
|
43
43
|
pname = "#{sortparam}[_resort][#{name}][#{@sorting[:direction] == 'asc' ? 'desc' : 'asc'}]"
|
44
44
|
bid = "#{bid}_#{name}_#{@sorting[:direction] == 'asc' ? 'desc' : 'asc'}"
|
45
|
-
psrc =
|
46
|
-
:sort_down_button : :sort_up_button]
|
45
|
+
psrc = @table_options[@sorting[:direction] == 'desc' ?
|
46
|
+
:sort_down_button : :sort_up_button]
|
47
47
|
make_tag(:input, :type => :hidden,
|
48
48
|
:name => "#{sortparam}[#{name}][#{@sorting[:direction]}]",
|
49
49
|
:value => "#{@sorting[:direction]}")
|
50
50
|
else
|
51
51
|
pname = "#{sortparam}[_resort][#{name}][desc]"
|
52
52
|
bid = "#{bid}_#{name}_desc"
|
53
|
-
psrc =
|
53
|
+
psrc = @table_options[:sort_down_button_inactive]
|
54
54
|
end
|
55
|
-
|
56
|
-
:id => bid,
|
57
|
-
:src => psrc,
|
58
|
-
:name => pname)
|
55
|
+
make_image_button(psrc, :id => bid, :name => pname)
|
59
56
|
end
|
60
57
|
end # </th>
|
61
58
|
end
|
@@ -35,17 +35,11 @@ class Tabulatr
|
|
35
35
|
# render the 'wrapping' div
|
36
36
|
make_tag(:div, :class => @table_options[:paginator_div_class]) do
|
37
37
|
# << Page Left
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
:name => "#{pagination_name}[page_left]")
|
44
|
-
else
|
45
|
-
make_tag(:img,
|
46
|
-
:src => File.join(@table_options[:image_path_prefix], @table_options[:pager_left_button_inactive]),
|
47
|
-
:class => @table_options[:page_left_class])
|
48
|
-
end # page > 1
|
38
|
+
make_image_button(@table_options[page > 1 ? :pager_left_button : :pager_left_button_inactive],
|
39
|
+
:class => @table_options[:page_left_class],
|
40
|
+
:id => "#{pagination_name}_page_left",
|
41
|
+
:name => "#{pagination_name}[page_left]",
|
42
|
+
:inactive => (page <= 1))
|
49
43
|
# current page number
|
50
44
|
concat(make_tag(:input,
|
51
45
|
:type => :hidden,
|
@@ -58,16 +52,11 @@ class Tabulatr
|
|
58
52
|
:value => page))
|
59
53
|
concat("/#{pages}")
|
60
54
|
# >> Page Right
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
:name => "#{pagination_name}[page_right]")
|
67
|
-
else
|
68
|
-
make_tag(:img, :src => File.join(@table_options[:image_path_prefix], @table_options[:pager_right_button_inactive]),
|
69
|
-
:class => @table_options[:page_right_class])
|
70
|
-
end # page < pages
|
55
|
+
make_image_button(@table_options[page < pages ? :pager_right_button : :pager_right_button_inactive],
|
56
|
+
:class => @table_options[:page_right_class],
|
57
|
+
:id => "#{pagination_name}_page_right",
|
58
|
+
:name => "#{pagination_name}[page_right]",
|
59
|
+
:inactive => (page >= pages))
|
71
60
|
if pagesizes.length > 1
|
72
61
|
make_tag(:select, :name => "#{pagination_name}[pagesize]", :class => @table_options[:pagesize_select_class]) do
|
73
62
|
pagesizes.each do |n|
|
@@ -75,7 +75,7 @@ class Tabulatr
|
|
75
75
|
:select_controls => [:select_all, :select_none, :select_visible, :unselect_visible,
|
76
76
|
:select_filtered, :unselect_filtered],
|
77
77
|
|
78
|
-
:image_path_prefix => '/images/tabulatr/',
|
78
|
+
:image_path_prefix => (Rails::version.to_f >= 3.1 ? 'tabulatr/' : '/images/tabulatr/'),
|
79
79
|
:pager_left_button => 'pager_arrow_left.gif',
|
80
80
|
:pager_left_button_inactive => 'pager_arrow_left_off.gif',
|
81
81
|
:pager_right_button => 'pager_arrow_right.gif',
|
data/lib/tabulatr/version.rb
CHANGED
data/tabulatr.gemspec
CHANGED
@@ -15,14 +15,10 @@ Gem::Specification.new do |s|
|
|
15
15
|
|
16
16
|
s.files = `git ls-files`.split("\n")
|
17
17
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
-
s.executables = []
|
19
|
-
s.require_paths = ["lib"]
|
20
18
|
s.rdoc_options = ['--charset=UTF-8']
|
21
19
|
|
22
20
|
|
23
|
-
s.add_runtime_dependency('rails', '
|
21
|
+
s.add_runtime_dependency('rails', '>= 3.0.0')
|
24
22
|
s.add_dependency('whiny_hash', '>= 0.0.2')
|
25
23
|
s.add_dependency('id_stuffer', '>= 0.0.1')
|
26
|
-
|
27
|
-
s.rubyforge_project = "tabulatr"
|
28
24
|
end
|
metadata
CHANGED
@@ -1,76 +1,58 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: tabulatr
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 2
|
8
|
-
- 0
|
9
|
-
version: 0.2.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.0
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Peter Horn
|
13
|
-
-
|
9
|
+
- René Sprotte
|
14
10
|
autorequire:
|
15
11
|
bindir: bin
|
16
12
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
13
|
+
date: 2011-08-20 00:00:00.000000000Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
22
16
|
name: rails
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &70348423259000 !ruby/object:Gem::Requirement
|
25
18
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
- 3
|
31
|
-
- 0
|
32
|
-
version: "3.0"
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 3.0.0
|
33
23
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: whiny_hash
|
37
24
|
prerelease: false
|
38
|
-
|
25
|
+
version_requirements: *70348423259000
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: whiny_hash
|
28
|
+
requirement: &70348423258260 !ruby/object:Gem::Requirement
|
39
29
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
segments:
|
44
|
-
- 0
|
45
|
-
- 0
|
46
|
-
- 2
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
47
33
|
version: 0.0.2
|
48
34
|
type: :runtime
|
49
|
-
version_requirements: *id002
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: id_stuffer
|
52
35
|
prerelease: false
|
53
|
-
|
36
|
+
version_requirements: *70348423258260
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: id_stuffer
|
39
|
+
requirement: &70348423257540 !ruby/object:Gem::Requirement
|
54
40
|
none: false
|
55
|
-
requirements:
|
56
|
-
- -
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
segments:
|
59
|
-
- 0
|
60
|
-
- 0
|
61
|
-
- 1
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
62
44
|
version: 0.0.1
|
63
45
|
type: :runtime
|
64
|
-
|
65
|
-
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *70348423257540
|
48
|
+
description: A tight DSL to build tables of ActiveRecord or Mongoid models with sorting,
|
49
|
+
pagination, finding/filtering, selecting and batch actions. Tries to do for tables
|
50
|
+
what formtastic and simple_form did for forms.
|
66
51
|
email: info@provideal.net
|
67
52
|
executables: []
|
68
|
-
|
69
53
|
extensions: []
|
70
|
-
|
71
54
|
extra_rdoc_files: []
|
72
|
-
|
73
|
-
files:
|
55
|
+
files:
|
74
56
|
- .gitignore
|
75
57
|
- .rspec
|
76
58
|
- Changelog.textile
|
@@ -78,6 +60,17 @@ files:
|
|
78
60
|
- LICENSE
|
79
61
|
- README.textile
|
80
62
|
- Rakefile
|
63
|
+
- app/assets/images/tabulatr/buttons_lite_background.png
|
64
|
+
- app/assets/images/tabulatr/pager_arrow_left.gif
|
65
|
+
- app/assets/images/tabulatr/pager_arrow_left_off.gif
|
66
|
+
- app/assets/images/tabulatr/pager_arrow_right.gif
|
67
|
+
- app/assets/images/tabulatr/pager_arrow_right_off.gif
|
68
|
+
- app/assets/images/tabulatr/sort_arrow_down.gif
|
69
|
+
- app/assets/images/tabulatr/sort_arrow_down_off.gif
|
70
|
+
- app/assets/images/tabulatr/sort_arrow_up.gif
|
71
|
+
- app/assets/images/tabulatr/sort_arrow_up_off.gif
|
72
|
+
- app/assets/stylesheets/tabulatr.css
|
73
|
+
- app/assets/stylesheets/tabulatr/application.scss
|
81
74
|
- assets/images/buttons_lite_background.png
|
82
75
|
- assets/images/pager_arrow_left.gif
|
83
76
|
- assets/images/pager_arrow_left_off.gif
|
@@ -97,6 +90,7 @@ files:
|
|
97
90
|
- lib/initializers/mark_as_localizable.rb
|
98
91
|
- lib/initializers/mongoid.rb
|
99
92
|
- lib/tabulatr.rb
|
93
|
+
- lib/tabulatr/engine.rb
|
100
94
|
- lib/tabulatr/tabulatr.rb
|
101
95
|
- lib/tabulatr/tabulatr/batch_actions.rb
|
102
96
|
- lib/tabulatr/tabulatr/check_controls.rb
|
@@ -185,39 +179,33 @@ files:
|
|
185
179
|
- spec/requests/tabulatrs_spec.rb
|
186
180
|
- spec/spec_helper.rb
|
187
181
|
- tabulatr.gemspec
|
188
|
-
has_rdoc: true
|
189
182
|
homepage: http://github.com/provideal/tabulatr
|
190
183
|
licenses: []
|
191
|
-
|
192
184
|
post_install_message:
|
193
|
-
rdoc_options:
|
185
|
+
rdoc_options:
|
194
186
|
- --charset=UTF-8
|
195
|
-
require_paths:
|
187
|
+
require_paths:
|
196
188
|
- lib
|
197
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
189
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
198
190
|
none: false
|
199
|
-
requirements:
|
200
|
-
- -
|
201
|
-
- !ruby/object:Gem::Version
|
202
|
-
|
203
|
-
|
204
|
-
version: "0"
|
205
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ! '>='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
206
196
|
none: false
|
207
|
-
requirements:
|
208
|
-
- -
|
209
|
-
- !ruby/object:Gem::Version
|
210
|
-
|
211
|
-
- 0
|
212
|
-
version: "0"
|
197
|
+
requirements:
|
198
|
+
- - ! '>='
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: '0'
|
213
201
|
requirements: []
|
214
|
-
|
215
|
-
|
216
|
-
rubygems_version: 1.3.7
|
202
|
+
rubyforge_project:
|
203
|
+
rubygems_version: 1.8.6
|
217
204
|
signing_key:
|
218
205
|
specification_version: 3
|
219
|
-
summary: A tight DSL to build tables of ActiveRecord or Mongoid models with sorting,
|
220
|
-
|
206
|
+
summary: A tight DSL to build tables of ActiveRecord or Mongoid models with sorting,
|
207
|
+
pagination, finding/filtering, selecting and batch actions.
|
208
|
+
test_files:
|
221
209
|
- spec/dummy_app/.gitignore
|
222
210
|
- spec/dummy_app/app/controllers/application_controller.rb
|
223
211
|
- spec/dummy_app/app/controllers/products_controller.rb
|