filtering 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/lib/filtering/base.rb +6 -1
- data/lib/filtering/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 21d50f6ef2c9f05edc0aef68c4b21d41a871188b
|
4
|
+
data.tar.gz: b74d2791f9e96f550211d2b68a6bc6ef41e3e058
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 101f073e802079eb982282da699bfc5d3a3f7d31c23005431d81101706c2c500d3010fa43c7610462e6fcdb08f7baf42320f012120bc4e915210ef20f7c5edb4
|
7
|
+
data.tar.gz: 880e54fc0866728b84994d6fda7aeb1fd0711136e5fd3867fe985d9a2ad57ea556b778cd7bd0fcc178c22bfc1f53671d58b9a61d855f3455c2d626565d98b81f
|
data/README.md
CHANGED
@@ -48,7 +48,7 @@ class Filters::UsersFilter < Filtering::Base
|
|
48
48
|
# Complex filters
|
49
49
|
|
50
50
|
def filter_by_name(name)
|
51
|
-
|
51
|
+
result.where('name ILIKE ? or name_auto ILIKE ?', "%#{name}%", "%#{name}%")
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
@@ -66,10 +66,10 @@ Controller usage example:
|
|
66
66
|
|
67
67
|
```
|
68
68
|
def index
|
69
|
-
render json: Filters::UsersFilter.new(params, page: params[:page], order:
|
69
|
+
render json: Filters::UsersFilter.new(params, page: params[:page], order: 'id DESC').call
|
70
70
|
end
|
71
71
|
```
|
72
|
-
If you don't use Kaminari just delete page from initializer
|
72
|
+
If you don't use Kaminari just delete page from initializer, the same with order param
|
73
73
|
|
74
74
|
## License
|
75
75
|
|
data/lib/filtering/base.rb
CHANGED
@@ -14,13 +14,14 @@ class Filtering::Base
|
|
14
14
|
|
15
15
|
paginate if result.respond_to?(:page)
|
16
16
|
ordering if order.present?
|
17
|
+
grouping if group.present?
|
17
18
|
|
18
19
|
return result
|
19
20
|
end
|
20
21
|
|
21
22
|
protected
|
22
23
|
|
23
|
-
attr_reader :plain_params, :complex_params, :page, :order, :result
|
24
|
+
attr_reader :plain_params, :complex_params, :page, :order, :group, :result
|
24
25
|
|
25
26
|
def relation
|
26
27
|
raise 'relation method not implemented. Add this method to calling class and add AR relation, for example Model.all'
|
@@ -74,4 +75,8 @@ class Filtering::Base
|
|
74
75
|
def ordering
|
75
76
|
@result = result.order(order)
|
76
77
|
end
|
78
|
+
|
79
|
+
def grouping
|
80
|
+
@result = result.group(group)
|
81
|
+
end
|
77
82
|
end
|
data/lib/filtering/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: filtering
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vitaliy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|