filtering 0.1.3 → 0.1.4
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.
- 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
|