search_object 1.2.4 → 1.2.5
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/.rubocop.yml +16 -1
- data/.travis.yml +2 -1
- data/CHANGELOG.md +5 -1
- data/example/spec/spec_helper.rb +1 -1
- data/lib/search_object/base.rb +10 -0
- data/lib/search_object/version.rb +1 -1
- data/search_object.gemspec +2 -2
- data/spec/search_object/base_spec.rb +39 -0
- metadata +10 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c01187c2852ea65c1c340bc37e62527c9d4133691ded6a9db4ac5dea78441b1d
|
|
4
|
+
data.tar.gz: 177bf4f66eccf02f9195a9aa2b8563f8d1de4465be812157f9eeec1ac90121a6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3cd78261ad83342fec752d1e54714afe7971841ae5afa90270bd90a8a1713cbb2aa06fdbad3489be78127195666015918f9f356ec1f4c9809b201f5631fc0795
|
|
7
|
+
data.tar.gz: 575474f4d79ff650bccb1cb9e9d33cb540d4b85dfc18a23487e1239e6a6833bf4da7dc52193829d2c116a51c9089736720eb6ac5db5868b814558fe15675fc34
|
data/.rubocop.yml
CHANGED
|
@@ -7,7 +7,7 @@ AllCops:
|
|
|
7
7
|
- search_object.gemspec
|
|
8
8
|
|
|
9
9
|
# Disables "Line is too long"
|
|
10
|
-
|
|
10
|
+
Layout/LineLength:
|
|
11
11
|
Enabled: false
|
|
12
12
|
|
|
13
13
|
# Disables Module has too many lines
|
|
@@ -37,3 +37,18 @@ RSpec/ExampleLength:
|
|
|
37
37
|
# Disables "Too many expectations."
|
|
38
38
|
RSpec/MultipleExpectations:
|
|
39
39
|
Enabled: false
|
|
40
|
+
|
|
41
|
+
Lint/RaiseException:
|
|
42
|
+
Enabled: true
|
|
43
|
+
|
|
44
|
+
Lint/StructNewOverride:
|
|
45
|
+
Enabled: true
|
|
46
|
+
|
|
47
|
+
Style/HashEachMethods:
|
|
48
|
+
Enabled: true
|
|
49
|
+
|
|
50
|
+
Style/HashTransformKeys:
|
|
51
|
+
Enabled: true
|
|
52
|
+
|
|
53
|
+
Style/HashTransformValues:
|
|
54
|
+
Enabled: true
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Version 1.2.5
|
|
4
|
+
|
|
5
|
+
* __[feature]__ Added `param?` method to `Search::Base` (@rstankov)
|
|
6
|
+
|
|
3
7
|
## Version 1.2.4
|
|
4
8
|
|
|
5
|
-
* __[feature]__ Added `:with` and block support to enum @hschne
|
|
9
|
+
* __[feature]__ Added `:with` and block support to enum (@hschne)
|
|
6
10
|
|
|
7
11
|
## Version 1.2.3
|
|
8
12
|
|
data/example/spec/spec_helper.rb
CHANGED
|
@@ -8,7 +8,7 @@ require 'rspec/rails'
|
|
|
8
8
|
|
|
9
9
|
# Requires supporting ruby files with custom matchers and macros, etc,
|
|
10
10
|
# in spec/support/ and its subdirectories.
|
|
11
|
-
Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
|
|
11
|
+
Dir[Rails.root.join('spec/support/**/*.rb')].sort.each { |f| require f }
|
|
12
12
|
|
|
13
13
|
# Checks for pending migrations before tests are run.
|
|
14
14
|
# If you are not using ActiveRecord, you can remove this line.
|
data/lib/search_object/base.rb
CHANGED
|
@@ -52,6 +52,16 @@ module SearchObject
|
|
|
52
52
|
end
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
+
def param?(*args)
|
|
56
|
+
if args.size == 1
|
|
57
|
+
params.key?(args[0].to_s)
|
|
58
|
+
elsif args.size == 2
|
|
59
|
+
params[args[0].to_s] == args[1]
|
|
60
|
+
else
|
|
61
|
+
raise ArgumentError, "wrong number of arguments (given #{args.size}, expected 1 or 2)"
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
55
65
|
private
|
|
56
66
|
|
|
57
67
|
def fetch_results
|
data/search_object.gemspec
CHANGED
|
@@ -29,6 +29,6 @@ Gem::Specification.new do |spec|
|
|
|
29
29
|
spec.add_development_dependency 'will_paginate'
|
|
30
30
|
spec.add_development_dependency 'kaminari'
|
|
31
31
|
spec.add_development_dependency 'kaminari-activerecord'
|
|
32
|
-
spec.add_development_dependency 'rubocop', '0.
|
|
33
|
-
spec.add_development_dependency 'rubocop-rspec', '1.
|
|
32
|
+
spec.add_development_dependency 'rubocop', '0.81.0'
|
|
33
|
+
spec.add_development_dependency 'rubocop-rspec', '1.38.1'
|
|
34
34
|
end
|
|
@@ -329,5 +329,44 @@ module SearchObject
|
|
|
329
329
|
expect(search.params).to eq 'value' => 1
|
|
330
330
|
end
|
|
331
331
|
end
|
|
332
|
+
|
|
333
|
+
describe '#param?' do
|
|
334
|
+
context 'one argument' do
|
|
335
|
+
it 'returns true when params is set' do
|
|
336
|
+
search = new_search([], value: 2) do
|
|
337
|
+
option :value
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
expect(search.param?(:value)).to eq true
|
|
341
|
+
end
|
|
342
|
+
|
|
343
|
+
it 'returns false when params isnt set' do
|
|
344
|
+
search = new_search do
|
|
345
|
+
option :value
|
|
346
|
+
end
|
|
347
|
+
|
|
348
|
+
expect(search.param?(:value)).to eq false
|
|
349
|
+
end
|
|
350
|
+
end
|
|
351
|
+
|
|
352
|
+
context 'two arguments' do
|
|
353
|
+
it 'returns true when param matches value' do
|
|
354
|
+
search = new_search([], value: 2) do
|
|
355
|
+
option :value
|
|
356
|
+
end
|
|
357
|
+
|
|
358
|
+
expect(search.param?(:value, 2)).to eq true
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
it 'returns false when param matches value' do
|
|
362
|
+
search = new_search([], value: 2) do
|
|
363
|
+
option :value
|
|
364
|
+
end
|
|
365
|
+
|
|
366
|
+
expect(search.param?(:value, 3)).to eq false
|
|
367
|
+
expect(search.param?(:other, 3)).to eq false
|
|
368
|
+
end
|
|
369
|
+
end
|
|
370
|
+
end
|
|
332
371
|
end
|
|
333
372
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: search_object
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Radoslav Stankov
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-11-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -170,28 +170,28 @@ dependencies:
|
|
|
170
170
|
requirements:
|
|
171
171
|
- - '='
|
|
172
172
|
- !ruby/object:Gem::Version
|
|
173
|
-
version: 0.
|
|
173
|
+
version: 0.81.0
|
|
174
174
|
type: :development
|
|
175
175
|
prerelease: false
|
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
|
177
177
|
requirements:
|
|
178
178
|
- - '='
|
|
179
179
|
- !ruby/object:Gem::Version
|
|
180
|
-
version: 0.
|
|
180
|
+
version: 0.81.0
|
|
181
181
|
- !ruby/object:Gem::Dependency
|
|
182
182
|
name: rubocop-rspec
|
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
|
184
184
|
requirements:
|
|
185
185
|
- - '='
|
|
186
186
|
- !ruby/object:Gem::Version
|
|
187
|
-
version: 1.
|
|
187
|
+
version: 1.38.1
|
|
188
188
|
type: :development
|
|
189
189
|
prerelease: false
|
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
|
191
191
|
requirements:
|
|
192
192
|
- - '='
|
|
193
193
|
- !ruby/object:Gem::Version
|
|
194
|
-
version: 1.
|
|
194
|
+
version: 1.38.1
|
|
195
195
|
description: Search object DSL
|
|
196
196
|
email:
|
|
197
197
|
- rstankov@gmail.com
|
|
@@ -278,7 +278,7 @@ homepage: https://github.com/RStankov/SearchObject
|
|
|
278
278
|
licenses:
|
|
279
279
|
- MIT
|
|
280
280
|
metadata: {}
|
|
281
|
-
post_install_message:
|
|
281
|
+
post_install_message:
|
|
282
282
|
rdoc_options: []
|
|
283
283
|
require_paths:
|
|
284
284
|
- lib
|
|
@@ -293,8 +293,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
293
293
|
- !ruby/object:Gem::Version
|
|
294
294
|
version: '0'
|
|
295
295
|
requirements: []
|
|
296
|
-
rubygems_version: 3.
|
|
297
|
-
signing_key:
|
|
296
|
+
rubygems_version: 3.1.4
|
|
297
|
+
signing_key:
|
|
298
298
|
specification_version: 4
|
|
299
299
|
summary: Provides DSL for creating search objects
|
|
300
300
|
test_files:
|