data_table 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +0 -2
- data/Gemfile.lock +1 -1
- data/TODO +1 -0
- data/lib/data_table/active_record.rb +1 -1
- data/lib/data_table/base.rb +8 -0
- data/lib/data_table/mongoid.rb +1 -1
- data/lib/data_table/version.rb +1 -1
- data/spec/active_record_data_table_spec.rb +2 -1
- data/spec/data_table_spec.rb +17 -0
- data/spec/mongoid_data_table_spec.rb +2 -1
- metadata +5 -4
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -4,7 +4,7 @@ module DataTable
|
|
4
4
|
def _find_objects params, fields, search_fields
|
5
5
|
self.where(_where_conditions params[:sSearch], search_fields).
|
6
6
|
order(_order_fields params, fields).
|
7
|
-
paginate :page => _page(params), :per_page => params
|
7
|
+
paginate :page => _page(params), :per_page => _per_page(params)
|
8
8
|
end
|
9
9
|
|
10
10
|
def _where_conditions query, search_fields
|
data/lib/data_table/base.rb
CHANGED
@@ -37,6 +37,14 @@ module DataTable
|
|
37
37
|
def _page params
|
38
38
|
params[:iDisplayStart].to_i / params[:iDisplayLength].to_i + 1
|
39
39
|
end
|
40
|
+
|
41
|
+
def _per_page params
|
42
|
+
case (display_length = params[:iDisplayLength].to_i)
|
43
|
+
when -1 then self.count
|
44
|
+
when 0 then 25
|
45
|
+
else display_length
|
46
|
+
end
|
47
|
+
end
|
40
48
|
end
|
41
49
|
|
42
50
|
end
|
data/lib/data_table/mongoid.rb
CHANGED
@@ -4,7 +4,7 @@ module DataTable
|
|
4
4
|
def _find_objects params, fields, search_fields
|
5
5
|
self.where(_where_conditions params[:sSearch], search_fields).
|
6
6
|
order_by(_order_by_fields params, fields).
|
7
|
-
paginate :page => _page(params), :per_page => params
|
7
|
+
paginate :page => _page(params), :per_page => _per_page(params)
|
8
8
|
end
|
9
9
|
|
10
10
|
def _where_conditions raw_query, search_fields
|
data/lib/data_table/version.rb
CHANGED
@@ -12,8 +12,9 @@ describe DataTable do
|
|
12
12
|
mock(self)._where_conditions("answer", %w(foo bar)) { "where clause" }
|
13
13
|
mock(self)._order_fields(params, %w(foo bar baz)) { "order" }
|
14
14
|
|
15
|
-
mock(self).where("where clause") { mock!.order("order") { mock!.paginate({:page => :page, :per_page =>
|
15
|
+
mock(self).where("where clause") { mock!.order("order") { mock!.paginate({:page => :page, :per_page => :per_page}) { :answer } } }
|
16
16
|
mock(self)._page(params) { :page }
|
17
|
+
mock(self)._per_page(params) { :per_page }
|
17
18
|
|
18
19
|
_find_objects(params, %w(foo bar baz), %w(foo bar)).should == :answer
|
19
20
|
end
|
data/spec/data_table_spec.rb
CHANGED
@@ -63,4 +63,21 @@ describe DataTable do
|
|
63
63
|
|
64
64
|
end
|
65
65
|
|
66
|
+
context "#_per_page" do
|
67
|
+
|
68
|
+
it "should return 10 given an iDisplayLength of 10" do
|
69
|
+
send(:_per_page, {:iDisplayLength => "10"}).should == 10
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should return a default of 25 given an invalid iDisplayLength" do
|
73
|
+
send(:_per_page, {:iDisplayLength => "foobar"}).should == 25
|
74
|
+
end
|
75
|
+
|
76
|
+
it "should return self.count given an iDisplayLength of -1" do
|
77
|
+
mock(self).count { :all }
|
78
|
+
send(:_per_page, {:iDisplayLength => "-1"}).should == :all
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
|
66
83
|
end
|
@@ -11,8 +11,9 @@ describe DataTable do
|
|
11
11
|
mock(self)._where_conditions("answer", %w(foo bar)) { "where clause" }
|
12
12
|
mock(self)._order_by_fields(params, %w(foo bar baz)) { "order by" }
|
13
13
|
|
14
|
-
mock(self).where("where clause") { mock!.order_by("order by") { mock!.paginate({:page => :page, :per_page =>
|
14
|
+
mock(self).where("where clause") { mock!.order_by("order by") { mock!.paginate({:page => :page, :per_page => :per_page}) { :answer } } }
|
15
15
|
mock(self)._page(params) { :page }
|
16
|
+
mock(self)._per_page(params) { :per_page }
|
16
17
|
|
17
18
|
_find_objects(params, %w(foo bar baz), %w(foo bar)).should == :answer
|
18
19
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: data_table
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 7
|
10
|
+
version: 0.1.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jason Dew
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-12-15 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -114,6 +114,7 @@ files:
|
|
114
114
|
- LICENSE
|
115
115
|
- README.rdoc
|
116
116
|
- Rakefile
|
117
|
+
- TODO
|
117
118
|
- data_table.gemspec
|
118
119
|
- lib/data_table.rb
|
119
120
|
- lib/data_table/active_record.rb
|