mongoid-data_table 1.0.0 → 1.0.1
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/lib/mongoid/data_table/proxy.rb +20 -15
- data/lib/mongoid/data_table/version.rb +2 -2
- metadata +10 -15
@@ -40,7 +40,7 @@ module Mongoid
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def conditions
|
43
|
-
criteria.order_by(order_by_conditions).where(filter_conditions).where(filter_field_conditions)
|
43
|
+
criteria.clone.order_by(order_by_conditions).where(filter_conditions).where(filter_field_conditions)
|
44
44
|
end
|
45
45
|
|
46
46
|
def to_hash(&inline_block)
|
@@ -67,7 +67,7 @@ module Mongoid
|
|
67
67
|
protected
|
68
68
|
|
69
69
|
def order_by_conditions
|
70
|
-
order_params = params.select { |k,v| k =~ /(i|s)Sort(Col|Dir)_\d+/ }
|
70
|
+
order_params = params.dup.select { |k,v| k =~ /(i|s)Sort(Col|Dir)_\d+/ }
|
71
71
|
return options[:order_by] || [] if order_params.blank?
|
72
72
|
order_params.select { |k,v| k =~ /iSortCol_\d+/ }.sort_by(&:first).map do |col,field|
|
73
73
|
i = /iSortCol_(\d+)/.match(col)[1]
|
@@ -78,28 +78,27 @@ module Mongoid
|
|
78
78
|
def filter_conditions
|
79
79
|
return unless (query = params[:sSearch]).present?
|
80
80
|
|
81
|
-
|
81
|
+
b_regex = Boolean.set(params["bRegex"])
|
82
|
+
|
83
|
+
{
|
84
|
+
"$or" => klass.data_table_searchable_fields.map { |field|
|
85
|
+
{ field => (b_regex === true) ? data_table_regex(query) : query }
|
86
|
+
}
|
87
|
+
}
|
82
88
|
end
|
83
89
|
|
84
90
|
def filter_field_conditions
|
85
|
-
|
91
|
+
params.dup.select { |k,v| k =~ /sSearch_\d+/ }.inject({}) do |h,(k,v)|
|
86
92
|
i = /sSearch_(\d+)/.match(k)[1]
|
87
93
|
|
88
94
|
field_name = fields[i.to_i]
|
89
|
-
field = klass.fields[field_name]
|
90
|
-
field_type = field.respond_to?(:type) ? field.type :
|
95
|
+
#field = klass.fields.dup[field_name]
|
96
|
+
#field_type = field.respond_to?(:type) ? field.type : Object
|
91
97
|
|
92
98
|
query = params["sSearch_#{i}"]
|
99
|
+
b_regex = Boolean.set(params["bRegex_#{i}"])
|
93
100
|
|
94
|
-
h[field_name] = (
|
95
|
-
begin
|
96
|
-
Regexp.new(query)
|
97
|
-
rescue RegexpError
|
98
|
-
Regexp.new(Regexp.escape(query))
|
99
|
-
end
|
100
|
-
else
|
101
|
-
query
|
102
|
-
end) if query.present?
|
101
|
+
h[field_name] = (b_regex === true) ? data_table_regex(query) : query if query.present?
|
103
102
|
h
|
104
103
|
end
|
105
104
|
end
|
@@ -126,6 +125,12 @@ module Mongoid
|
|
126
125
|
end
|
127
126
|
end
|
128
127
|
|
128
|
+
def data_table_regex(query)
|
129
|
+
Regexp.new(query, Regexp::IGNORECASE)
|
130
|
+
rescue RegexpError
|
131
|
+
Regexp.new(Regexp.escape(query), Regexp::IGNORECASE)
|
132
|
+
end
|
133
|
+
|
129
134
|
def method_missing(method, *args, &block) #:nodoc:
|
130
135
|
collection.send(method, *args, &block)
|
131
136
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: mongoid-data_table
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.0.
|
5
|
+
version: 1.0.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jason Dew
|
@@ -15,6 +15,7 @@ date: 2011-05-17 00:00:00 Z
|
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
18
|
+
prerelease: false
|
18
19
|
requirement: &id001 !ruby/object:Gem::Requirement
|
19
20
|
none: false
|
20
21
|
requirements:
|
@@ -22,10 +23,10 @@ dependencies:
|
|
22
23
|
- !ruby/object:Gem::Version
|
23
24
|
version: 3.0.0
|
24
25
|
type: :runtime
|
25
|
-
prerelease: false
|
26
26
|
version_requirements: *id001
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: will_paginate
|
29
|
+
prerelease: false
|
29
30
|
requirement: &id002 !ruby/object:Gem::Requirement
|
30
31
|
none: false
|
31
32
|
requirements:
|
@@ -33,10 +34,10 @@ dependencies:
|
|
33
34
|
- !ruby/object:Gem::Version
|
34
35
|
version: 3.0.pre2
|
35
36
|
type: :runtime
|
36
|
-
prerelease: false
|
37
37
|
version_requirements: *id002
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: bson_ext
|
40
|
+
prerelease: false
|
40
41
|
requirement: &id003 !ruby/object:Gem::Requirement
|
41
42
|
none: false
|
42
43
|
requirements:
|
@@ -44,10 +45,10 @@ dependencies:
|
|
44
45
|
- !ruby/object:Gem::Version
|
45
46
|
version: 1.3.0
|
46
47
|
type: :development
|
47
|
-
prerelease: false
|
48
48
|
version_requirements: *id003
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: mongoid
|
51
|
+
prerelease: false
|
51
52
|
requirement: &id004 !ruby/object:Gem::Requirement
|
52
53
|
none: false
|
53
54
|
requirements:
|
@@ -55,10 +56,10 @@ dependencies:
|
|
55
56
|
- !ruby/object:Gem::Version
|
56
57
|
version: 2.0.1
|
57
58
|
type: :development
|
58
|
-
prerelease: false
|
59
59
|
version_requirements: *id004
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: mocha
|
62
|
+
prerelease: false
|
62
63
|
requirement: &id005 !ruby/object:Gem::Requirement
|
63
64
|
none: false
|
64
65
|
requirements:
|
@@ -66,10 +67,10 @@ dependencies:
|
|
66
67
|
- !ruby/object:Gem::Version
|
67
68
|
version: 0.9.12
|
68
69
|
type: :development
|
69
|
-
prerelease: false
|
70
70
|
version_requirements: *id005
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: rspec
|
73
|
+
prerelease: false
|
73
74
|
requirement: &id006 !ruby/object:Gem::Requirement
|
74
75
|
none: false
|
75
76
|
requirements:
|
@@ -77,10 +78,10 @@ dependencies:
|
|
77
78
|
- !ruby/object:Gem::Version
|
78
79
|
version: 2.6.0
|
79
80
|
type: :development
|
80
|
-
prerelease: false
|
81
81
|
version_requirements: *id006
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
83
|
name: shoulda
|
84
|
+
prerelease: false
|
84
85
|
requirement: &id007 !ruby/object:Gem::Requirement
|
85
86
|
none: false
|
86
87
|
requirements:
|
@@ -88,10 +89,10 @@ dependencies:
|
|
88
89
|
- !ruby/object:Gem::Version
|
89
90
|
version: 2.11.3
|
90
91
|
type: :development
|
91
|
-
prerelease: false
|
92
92
|
version_requirements: *id007
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: watchr
|
95
|
+
prerelease: false
|
95
96
|
requirement: &id008 !ruby/object:Gem::Requirement
|
96
97
|
none: false
|
97
98
|
requirements:
|
@@ -99,7 +100,6 @@ dependencies:
|
|
99
100
|
- !ruby/object:Gem::Version
|
100
101
|
version: "0.7"
|
101
102
|
type: :development
|
102
|
-
prerelease: false
|
103
103
|
version_requirements: *id008
|
104
104
|
description: Simple data preparation from Mongoid to the jQuery DataTables plugin
|
105
105
|
email:
|
@@ -145,18 +145,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
145
145
|
requirements:
|
146
146
|
- - ">="
|
147
147
|
- !ruby/object:Gem::Version
|
148
|
-
hash: 1445524431539221366
|
149
|
-
segments:
|
150
|
-
- 0
|
151
148
|
version: "0"
|
152
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
150
|
none: false
|
154
151
|
requirements:
|
155
152
|
- - ">="
|
156
153
|
- !ruby/object:Gem::Version
|
157
|
-
hash: 1445524431539221366
|
158
|
-
segments:
|
159
|
-
- 0
|
160
154
|
version: "0"
|
161
155
|
requirements: []
|
162
156
|
|
@@ -172,3 +166,4 @@ test_files:
|
|
172
166
|
- spec/unit/mongoid-data_table_spec.rb
|
173
167
|
- spec/unit/mongoid/data_table/proxy_spec.rb
|
174
168
|
- spec/unit/mongoid/data_table_spec.rb
|
169
|
+
has_rdoc:
|