filta 1.1.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -9
  3. data/Rakefile +4 -5
  4. data/VERSION +1 -1
  5. data/lib/filta/methods.rb +1 -6
  6. metadata +16 -163
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c98d7bdfb9316fd340014ab2248b2cef0c70040d7bcb5da60c0867cf044c8ee2
4
- data.tar.gz: 50f61e2373253879fcbabab6c59e74e705a8da12f5e74cc6bc717025a2ef8039
3
+ metadata.gz: f1a6772016c764a05327275e6ccd107cd24b98174f3085067924be26c5e40e86
4
+ data.tar.gz: e180b371052936d4e4109f24c07e3f28aacc4c6dfcb61065624cbd8f0b118db1
5
5
  SHA512:
6
- metadata.gz: f7b4676d529639fb0248c15291ee16122107b7cf309a4bd543308996aabebc1b6d7664bd7dc06f7b81e56a8514e76a909cd53f8ee82d9a1bd72b05c7b04da908
7
- data.tar.gz: 0070b4fc3ddbe554def10e2c43276a1d5d8122abe1ef1da51194c23c0d99f628fb1fc3cd4386b47bbecb2007a6fa024c4a8bdfdf3c2e8f504114278b017042cb
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
  [![Gem Version](https://badge.fury.io/rb/filta.svg)](https://badge.fury.io/rb/filta)
6
- [![CircleCI](https://circleci.com/gh/boxt/filta/tree/master.svg?style=svg)](https://circleci.com/gh/boxt/filta/tree/master)
6
+ [![CI](https://github.com/boxt/filta/actions/workflows/ci.yml/badge.svg)](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({ title: "Foo", something: "Bar" })
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 `filter` method returns an ActiveRecord relation so you can chain the calls with other methods.
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({ title: "Foo" }).order("created_at DESC")
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 sanitise what you pass into the `filter` method.
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
- Rake::TestTask.new(:test) do |t|
7
- t.libs << "test"
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 default: :test
11
+ task test: :spec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0
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 unless value.present?
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: 1.1.0
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: 2020-05-03 00:00:00.000000000 Z
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: '5.2'
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: '5.2'
27
- - !ruby/object:Gem::Dependency
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: '2.1'
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
- post_install_message:
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: '0'
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.1.2
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: []