data_table 0.1.6 → 0.1.7

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/Gemfile CHANGED
@@ -1,5 +1,3 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem "will_paginate"
4
-
5
3
  gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- data_table (0.1.2)
4
+ data_table (0.1.6)
5
5
  rails (~> 3.0.0)
6
6
  will_paginate (~> 3.0.pre2)
7
7
 
data/TODO ADDED
@@ -0,0 +1 @@
1
+ - repackage as a Rails 3 responder
@@ -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[:iDisplayLength]
7
+ paginate :page => _page(params), :per_page => _per_page(params)
8
8
  end
9
9
 
10
10
  def _where_conditions query, search_fields
@@ -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
@@ -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[:iDisplayLength]
7
+ paginate :page => _page(params), :per_page => _per_page(params)
8
8
  end
9
9
 
10
10
  def _where_conditions raw_query, search_fields
@@ -1,3 +1,3 @@
1
1
  module DataTable
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
@@ -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 => 10}) { :answer } } }
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
@@ -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 => 10}) { :answer } } }
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: 23
4
+ hash: 21
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 6
10
- version: 0.1.6
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-10-25 00:00:00 -04:00
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