filta 1.1.0 → 2.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.
- checksums.yaml +4 -4
- data/README.md +10 -9
- data/Rakefile +4 -5
- data/VERSION +1 -1
- data/lib/filta/methods.rb +1 -6
- metadata +16 -163
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1a6772016c764a05327275e6ccd107cd24b98174f3085067924be26c5e40e86
|
4
|
+
data.tar.gz: e180b371052936d4e4109f24c07e3f28aacc4c6dfcb61065624cbd8f0b118db1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20aeaa3976e28924deeec88fc5f3ac692f2fb0369c84d4d42b2006bf4dd0ea62b75462a2193905cac0bd657513dc31336609bd9a06fa2168674f6ce7c3f03ee5
|
7
|
+
data.tar.gz: a19652f91dc4858ba35486b894a639485d3bf0df941125c8572a80e3ced84242e75fe3299275f7c7da156daed73d0729586415ded6675e9fb1f5f104cca6b5f3
|
data/README.md
CHANGED
@@ -3,7 +3,11 @@
|
|
3
3
|
Super simple filtering for ActiveRecord, inspired by [Justin Weiss' Gist](https://gist.github.com/justinweiss/9065666).
|
4
4
|
|
5
5
|
[](https://badge.fury.io/rb/filta)
|
6
|
-
[](https://github.com/boxt/filta/actions/workflows/ci.yml)
|
7
|
+
## Requirements
|
8
|
+
|
9
|
+
* Ruby 2.7.3 or above
|
10
|
+
* Rails >= 6, < 8
|
7
11
|
|
8
12
|
## Installation
|
9
13
|
|
@@ -30,20 +34,17 @@ $ gem install filta
|
|
30
34
|
Use like you would any other kind of ActiveRecord scope.
|
31
35
|
|
32
36
|
```ruby
|
33
|
-
@filtered = Klass.filta(
|
37
|
+
@filtered = Klass.filta(title: "Foo", something: "Bar")
|
38
|
+
@filtered = Klass.filta({ title: "Foo", something: "Bar" }) # Can also use with hash
|
34
39
|
```
|
35
40
|
|
36
|
-
The `
|
41
|
+
The `filta` method returns an ActiveRecord relation so you can chain the calls with other methods.
|
37
42
|
|
38
43
|
```ruby
|
39
|
-
Klass.filta(
|
44
|
+
Klass.filta(title: "Foo").order("created_at DESC")
|
40
45
|
```
|
41
46
|
|
42
|
-
If using in a controller make sure you use the `params.permit` method to
|
43
|
-
|
44
|
-
## Notes
|
45
|
-
|
46
|
-
The original `.filter` method is deprecated to avoid any confusion
|
47
|
+
If using in a controller make sure you use the `params.permit` method to sanitize what you pass into the `filta` method.
|
47
48
|
|
48
49
|
## Contributing
|
49
50
|
|
data/Rakefile
CHANGED
@@ -2,11 +2,10 @@
|
|
2
2
|
|
3
3
|
require "bundler/gem_tasks"
|
4
4
|
require "rake/testtask"
|
5
|
+
require "rspec/core/rake_task"
|
5
6
|
|
6
|
-
|
7
|
-
t.
|
8
|
-
t.libs << "lib"
|
9
|
-
t.test_files = FileList["test/**/*_test.rb"]
|
7
|
+
RSpec::Core::RakeTask.new(:spec) do |t|
|
8
|
+
t.pattern = Dir.glob("spec/**/*_spec.rb")
|
10
9
|
end
|
11
10
|
|
12
|
-
task
|
11
|
+
task test: :spec
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.1
|
data/lib/filta/methods.rb
CHANGED
@@ -11,18 +11,13 @@ module Filta
|
|
11
11
|
results = where(nil)
|
12
12
|
|
13
13
|
by.each do |key, value|
|
14
|
-
next
|
14
|
+
next if value.blank?
|
15
15
|
|
16
16
|
results = results.where(key.to_s.to_sym => value)
|
17
17
|
end
|
18
18
|
|
19
19
|
results
|
20
20
|
end
|
21
|
-
|
22
|
-
# TODO: This method is now deprecated and should be removed at a later date
|
23
|
-
def filter(by)
|
24
|
-
filta(by)
|
25
|
-
end
|
26
21
|
end
|
27
22
|
end
|
28
23
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: filta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Boxt Developers
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,168 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '6'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '8'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
27
|
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
27
|
-
-
|
28
|
-
name: boxt_ruby_style_guide
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '4.3'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '4.3'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: bundler
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
29
|
+
version: '6'
|
30
|
+
- - "<"
|
46
31
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '2.1'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: minitest
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '5.14'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '5.14'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: minitest-bang
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '1.0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '1.0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: minitest-fail-fast
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0.1'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0.1'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: minitest-macos-notification
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0.3'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0.3'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: minitest-reporters
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '1.4'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '1.4'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: rake
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '13.0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '13.0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: simplecov
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - "~>"
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0.18'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - "~>"
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0.18'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: sqlite3
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - "~>"
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '1.3'
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - "~>"
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '1.3'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: with_model
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - "~>"
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '2.0'
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - "~>"
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '2.0'
|
32
|
+
version: '8'
|
181
33
|
description: Simple filtering for ActiveRecord, inspired by Justin Weiss 'Gist - https://gist.github.com/justinweiss/9065666
|
182
34
|
email:
|
183
35
|
- developers@boxt.co.uk
|
@@ -196,8 +48,9 @@ files:
|
|
196
48
|
homepage: https://github.com/boxt/filta
|
197
49
|
licenses:
|
198
50
|
- MIT
|
199
|
-
metadata:
|
200
|
-
|
51
|
+
metadata:
|
52
|
+
rubygems_mfa_required: 'true'
|
53
|
+
post_install_message:
|
201
54
|
rdoc_options: []
|
202
55
|
require_paths:
|
203
56
|
- lib
|
@@ -205,15 +58,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
205
58
|
requirements:
|
206
59
|
- - ">="
|
207
60
|
- !ruby/object:Gem::Version
|
208
|
-
version: '
|
61
|
+
version: '2.7'
|
209
62
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
210
63
|
requirements:
|
211
64
|
- - ">="
|
212
65
|
- !ruby/object:Gem::Version
|
213
66
|
version: '0'
|
214
67
|
requirements: []
|
215
|
-
rubygems_version: 3.
|
216
|
-
signing_key:
|
68
|
+
rubygems_version: 3.2.22
|
69
|
+
signing_key:
|
217
70
|
specification_version: 4
|
218
71
|
summary: Simple filtering for ActiveRecord
|
219
72
|
test_files: []
|