mongoid-filterable 0.4.0 → 0.4.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 +1 -0
- data/lib/mongoid-filterable/filterable.rb +2 -1
- data/lib/mongoid-filterable/version.rb +1 -1
- data/mongoid-filterable.gemspec +11 -11
- data/spec/filterable_spec.rb +16 -0
- metadata +12 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 71010c85b650681652bd079d24a156341bee7f1f9594d03fe3fd6d1636ab9083
|
4
|
+
data.tar.gz: 91a7a5441612055ea19400f403d94d934117b39a7d71a110684d2f9d502f1bc8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0fe5207b06afd57c1681131cfb6acd99a87b8acdf66ffb97812f6f81e00dc34a5af512fdb6fc8c1246966ebe5d6ea3a3cafe8180b5fe78a64e6aba21dcbc94ee
|
7
|
+
data.tar.gz: cbb78b9092a458ca27e75b4ffbc44a29ca0b38fea927a6c6f53c8ce2c04255aa2029efe129535bea351670440f0d3f7e9c83db6904e9fa98ce809c77df9cebc5
|
data/README.md
CHANGED
@@ -14,7 +14,8 @@ module Mongoid
|
|
14
14
|
criteria = unscoped
|
15
15
|
|
16
16
|
filtering_params.each do |key, value|
|
17
|
-
|
17
|
+
# false is permitted in order to work properly with boolean fields
|
18
|
+
if (value.present? || value == false) && respond_to?("filter_with_#{key}")
|
18
19
|
if value.is_a?(Array) && scopes["filter_with_#{key}".to_sym][:scope].arity > 1
|
19
20
|
selectors.push criteria.public_send("filter_with_#{key}", *value).selector
|
20
21
|
else
|
data/mongoid-filterable.gemspec
CHANGED
@@ -4,22 +4,22 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'mongoid-filterable/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'mongoid-filterable'
|
8
8
|
spec.version = Mongoid::Filterable::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
11
|
-
spec.summary =
|
12
|
-
spec.description =
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
9
|
+
spec.authors = ['Rafael Jurado']
|
10
|
+
spec.email = ['rjurado@nosolosoftware.biz']
|
11
|
+
spec.summary = 'Easy way to add scopes to your models.'
|
12
|
+
spec.description = 'Easy way to add scopes to your models.'
|
13
|
+
spec.homepage = ''
|
14
|
+
spec.license = 'MIT'
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = [
|
19
|
+
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_development_dependency
|
21
|
+
spec.add_development_dependency 'bundler', '~> 1.5'
|
22
22
|
spec.add_development_dependency 'rspec'
|
23
|
-
spec.add_dependency '
|
24
|
-
spec.add_dependency
|
23
|
+
spec.add_dependency 'i18n'
|
24
|
+
spec.add_dependency 'mongoid', ['>= 3.0', '< 8.0']
|
25
25
|
end
|
data/spec/filterable_spec.rb
CHANGED
@@ -124,6 +124,22 @@ describe Mongoid::Filterable do
|
|
124
124
|
end
|
125
125
|
end
|
126
126
|
|
127
|
+
context 'when value is nil' do
|
128
|
+
it 'should ignore filter' do
|
129
|
+
City.create(people: 100)
|
130
|
+
City.create(people: 500)
|
131
|
+
expect(City.filter(people: nil).count).to eq(2)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
context 'when value is empty string' do
|
136
|
+
it 'should ignore filter' do
|
137
|
+
City.create(people: 100)
|
138
|
+
City.create(people: 500)
|
139
|
+
expect(City.filter(people: '').count).to eq(2)
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
127
143
|
context 'when value is a Boolean' do
|
128
144
|
it 'should filter using a query' do
|
129
145
|
City.create(name: 'city1')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid-filterable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rafael Jurado
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: i18n
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -53,19 +53,25 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: mongoid
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
61
|
+
version: '3.0'
|
62
|
+
- - "<"
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '8.0'
|
62
65
|
type: :runtime
|
63
66
|
prerelease: false
|
64
67
|
version_requirements: !ruby/object:Gem::Requirement
|
65
68
|
requirements:
|
66
69
|
- - ">="
|
67
70
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
71
|
+
version: '3.0'
|
72
|
+
- - "<"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '8.0'
|
69
75
|
description: Easy way to add scopes to your models.
|
70
76
|
email:
|
71
77
|
- rjurado@nosolosoftware.biz
|