query_string_search 0.0.3 → 0.0.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/.hound.yml +3 -0
- data/.travis.yml +9 -0
- data/README.md +8 -2
- data/lib/query_string_search/matchers/match_attribute.rb +5 -2
- data/lib/query_string_search/matchers/match_attribute_value.rb +3 -1
- data/lib/query_string_search/matchers/match_multiple_attribute_values.rb +21 -0
- data/lib/query_string_search/matchers/match_no_attribute.rb +5 -2
- data/lib/query_string_search/version.rb +1 -1
- data/query_string_search.gemspec +4 -2
- data/spec/doubles/search_target.rb +6 -0
- data/spec/features/find_records_that_match_one_of_many_attributes_spec.rb +13 -0
- data/spec/lib/query_string_search/matchers/match_attribute_spec.rb +10 -9
- data/spec/lib/query_string_search/matchers/match_attribute_value_spec.rb +12 -15
- data/spec/lib/query_string_search/matchers/match_multiple_attribute_values_spec.rb +47 -0
- data/spec/lib/query_string_search/matchers/match_no_attribute_spec.rb +10 -9
- data/spec/spec_helper.rb +3 -2
- metadata +42 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b484ab328b2b5e889f3c0760ef857b3eccdddd8
|
4
|
+
data.tar.gz: d0071f6f1ca439042d640ce53271beda186375e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44babe5feac2376030fe68edaa8a740c7f684959de01142558faa0d108ae86fc29ceeec5fd4a37896f38a19f6c95783c9da365afdea532632ab3e0ed110282f7
|
7
|
+
data.tar.gz: bc97993d98ba3a8fd352729a2bbbb3a329ee1d28d957c926e210f311fd42670526b538834a423092bdac947b519d0d3e4c99849cf47886b30722b908025d1bb5
|
data/.hound.yml
ADDED
data/.travis.yml
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
language: ruby
|
2
|
+
rvm:
|
3
|
+
- 2.1.5
|
4
|
+
- 2.2.0
|
5
|
+
- 2.0.0-p598
|
6
|
+
addons:
|
7
|
+
code_climate:
|
8
|
+
repo_token:
|
9
|
+
secure: XnZ8VLwsAVr3lrJ3gInolfi1dALfyu0XF74t7VExawsSGuDJzFnx4lwqw139uQHqEUNOl/lj+SHMjgEIxtoM6LjX/JBiCQLTMyKKz5EMwUvFULz4vWaGy2mgyA48WDXZL/s1k0GW7/Q8wxpdQ7uU2izx2RaJ+PLmcYUNQhNBbMI=
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Query String Search
|
1
|
+
# Query String Search [](https://travis-ci.org/umn-asr/query_string_search) [](https://codeclimate.com/github/umn-asr/query_string_search)
|
2
2
|
|
3
3
|
Provides an easy way to implement searching in your API endpoints
|
4
4
|
|
@@ -28,6 +28,12 @@ Returns every movie without ratings.
|
|
28
28
|
|
29
29
|
Returns every movie with a year of 1994
|
30
30
|
|
31
|
+
### Return all data that matches one of many attributes
|
32
|
+
|
33
|
+
`movies?q=year=1994|1995`
|
34
|
+
|
35
|
+
Returns all movies with a year of 1994 or 1995
|
36
|
+
|
31
37
|
### Combining Searches
|
32
38
|
|
33
39
|
Search criteria can be separated with commas
|
@@ -41,7 +47,7 @@ Records that match **all** the criteria will be returned. All un-rated movies ma
|
|
41
47
|
Add this line to your application's Gemfile:
|
42
48
|
|
43
49
|
```ruby
|
44
|
-
gem 'query_string_search'
|
50
|
+
gem 'query_string_search'
|
45
51
|
```
|
46
52
|
|
47
53
|
And then execute:
|
@@ -4,10 +4,13 @@ class MatchAttribute < QueryStringSearch::AbstractMatcher
|
|
4
4
|
end
|
5
5
|
|
6
6
|
def self.reserved_words
|
7
|
-
|
7
|
+
[
|
8
|
+
/^true$/,
|
9
|
+
/^all$/
|
10
|
+
]
|
8
11
|
end
|
9
12
|
|
10
13
|
def self.build_me?(_, search_param)
|
11
|
-
reserved_words.
|
14
|
+
reserved_words.any? { |r| r.match(search_param) }
|
12
15
|
end
|
13
16
|
end
|
@@ -6,6 +6,8 @@ class MatchAttributeValue < QueryStringSearch::AbstractMatcher
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def self.build_me?(search_type, search_param)
|
9
|
-
search_param &&
|
9
|
+
search_param &&
|
10
|
+
search_type &&
|
11
|
+
all_reserved_words.none? { |r| r.match(search_param) }
|
10
12
|
end
|
11
13
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class MatchMultipleAttributeValues < QueryStringSearch::AbstractMatcher
|
2
|
+
def match?(target)
|
3
|
+
match_with_contingency do
|
4
|
+
value.include?(target.public_send(attribute).to_s.upcase)
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.reserved_words
|
9
|
+
[
|
10
|
+
/^\w+\|\w+/
|
11
|
+
]
|
12
|
+
end
|
13
|
+
|
14
|
+
def value=(x)
|
15
|
+
super(x.split("|").map(&:upcase))
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.build_me?(_, search_param)
|
19
|
+
reserved_words.any? { |r| r.match(search_param) }
|
20
|
+
end
|
21
|
+
end
|
@@ -4,10 +4,13 @@ class MatchNoAttribute < QueryStringSearch::AbstractMatcher
|
|
4
4
|
end
|
5
5
|
|
6
6
|
def self.reserved_words
|
7
|
-
|
7
|
+
[
|
8
|
+
/^false$/,
|
9
|
+
/^none$/
|
10
|
+
]
|
8
11
|
end
|
9
12
|
|
10
13
|
def self.build_me?(_, search_param)
|
11
|
-
reserved_words.
|
14
|
+
reserved_words.any? { |r| r.match(search_param) }
|
12
15
|
end
|
13
16
|
end
|
data/query_string_search.gemspec
CHANGED
@@ -6,8 +6,8 @@ require 'query_string_search/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "query_string_search"
|
8
8
|
spec.version = QueryStringSearch::VERSION
|
9
|
-
spec.authors = ["Ian Whitney"]
|
10
|
-
spec.email = ["
|
9
|
+
spec.authors = ["Ian Whitney", "Debbie Gillespie", "Davin Lagerroos"]
|
10
|
+
spec.email = ["asrwebteam@umn.edu"]
|
11
11
|
spec.summary = %q{Provides a standard way to do searches using query strings in an API endpoint}
|
12
12
|
spec.homepage = "https://github.com/umn-asr/query_string_search"
|
13
13
|
spec.license = ""
|
@@ -20,5 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.add_development_dependency "bundler", "~> 1.7"
|
21
21
|
spec.add_development_dependency "rake", "~> 10.0"
|
22
22
|
spec.add_development_dependency "rspec", "~> 3"
|
23
|
+
spec.add_development_dependency "codeclimate-test-reporter", "~> 0.4"
|
24
|
+
spec.add_development_dependency "travis", "~> 1.7"
|
23
25
|
spec.add_development_dependency "rubocop"
|
24
26
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require_relative "../../lib/query_string_search"
|
2
|
+
require_relative "../fixtures/movie"
|
3
|
+
|
4
|
+
RSpec.describe "Finding data that matches one of many attributes" do
|
5
|
+
let(:data_set) { Movie.random_collection }
|
6
|
+
let(:movies_in_1994_or_1995) { data_set.select { |d| %w(1994 1995).include?(d.year) } }
|
7
|
+
|
8
|
+
it "Returns records that match the requested value" do
|
9
|
+
results = QueryStringSearch.new(data_set, "year=1994|1995").results
|
10
|
+
|
11
|
+
expect(results).to eq(movies_in_1994_or_1995)
|
12
|
+
end
|
13
|
+
end
|
@@ -1,10 +1,11 @@
|
|
1
1
|
require_relative "../../../../lib/query_string_search/abstract_matcher"
|
2
|
+
require_relative "../../../doubles/search_target"
|
2
3
|
|
3
4
|
RSpec.describe MatchAttribute do
|
4
5
|
describe "match?" do
|
5
6
|
describe "if the target's attribute is not nil" do
|
6
|
-
let(:target) {
|
7
|
-
let(:subject) { MatchAttribute.new(:
|
7
|
+
let(:target) { SearchTarget.new(property: "search_value") }
|
8
|
+
let(:subject) { MatchAttribute.new(:property) }
|
8
9
|
|
9
10
|
it "is true" do
|
10
11
|
expect(subject.match?(target)).to be_truthy
|
@@ -12,8 +13,8 @@ RSpec.describe MatchAttribute do
|
|
12
13
|
end
|
13
14
|
|
14
15
|
describe "if the target's attribute is true" do
|
15
|
-
let(:target) {
|
16
|
-
let(:subject) { MatchAttribute.new(:
|
16
|
+
let(:target) { SearchTarget.new(property: true) }
|
17
|
+
let(:subject) { MatchAttribute.new(:property) }
|
17
18
|
|
18
19
|
it "is true" do
|
19
20
|
expect(subject.match?(target)).to be_truthy
|
@@ -21,8 +22,8 @@ RSpec.describe MatchAttribute do
|
|
21
22
|
end
|
22
23
|
|
23
24
|
describe "if the target's attribute is nil" do
|
24
|
-
let(:target) {
|
25
|
-
let(:subject) { MatchAttribute.new(:
|
25
|
+
let(:target) { SearchTarget.new(property: nil) }
|
26
|
+
let(:subject) { MatchAttribute.new(:property) }
|
26
27
|
|
27
28
|
it "is false" do
|
28
29
|
expect(subject.match?(target)).to be_falsey
|
@@ -30,8 +31,8 @@ RSpec.describe MatchAttribute do
|
|
30
31
|
end
|
31
32
|
|
32
33
|
describe "if the target's attribute is false" do
|
33
|
-
let(:target) {
|
34
|
-
let(:subject) { MatchAttribute.new(:
|
34
|
+
let(:target) { SearchTarget.new(property: false) }
|
35
|
+
let(:subject) { MatchAttribute.new(:property) }
|
35
36
|
|
36
37
|
it "is true" do
|
37
38
|
expect(subject.match?(target)).to be_falsey
|
@@ -39,7 +40,7 @@ RSpec.describe MatchAttribute do
|
|
39
40
|
end
|
40
41
|
|
41
42
|
describe "if the target doesn't have the attribute" do
|
42
|
-
let(:target) {
|
43
|
+
let(:target) { SearchTarget.new(property: rand) }
|
43
44
|
let(:subject) { MatchAttribute.new(:bad_attr) }
|
44
45
|
|
45
46
|
it "is false" do
|
@@ -1,11 +1,11 @@
|
|
1
1
|
require_relative "../../../../lib/query_string_search/abstract_matcher"
|
2
|
+
require_relative "../../../doubles/search_target"
|
2
3
|
|
3
4
|
RSpec.describe MatchAttributeValue do
|
4
5
|
describe "match?" do
|
5
6
|
describe "given a target with an attribute that matches the Parameter's attribute" do
|
6
|
-
let(:target) {
|
7
|
-
let(:
|
8
|
-
let(:subject) { MatchAttributeValue.new(:search_attr, value) }
|
7
|
+
let(:target) { SearchTarget.new(property: "search_value") }
|
8
|
+
let(:subject) { MatchAttributeValue.new(:property, "search_value") }
|
9
9
|
|
10
10
|
it "returns true" do
|
11
11
|
expect(subject.match?(target)).to be_truthy
|
@@ -13,9 +13,8 @@ RSpec.describe MatchAttributeValue do
|
|
13
13
|
end
|
14
14
|
|
15
15
|
describe "given a value with spaces" do
|
16
|
-
let(:target) {
|
17
|
-
let(:
|
18
|
-
let(:subject) { MatchAttributeValue.new(:search_attr, value) }
|
16
|
+
let(:target) { SearchTarget.new(property: "search value") }
|
17
|
+
let(:subject) { MatchAttributeValue.new(:property, "search value") }
|
19
18
|
|
20
19
|
it "returns true" do
|
21
20
|
expect(subject.match?(target)).to be_truthy
|
@@ -23,9 +22,8 @@ RSpec.describe MatchAttributeValue do
|
|
23
22
|
end
|
24
23
|
|
25
24
|
describe "given a target with an attribute that does not match the Parameter's attribute" do
|
26
|
-
let(:target) {
|
27
|
-
let(:
|
28
|
-
let(:subject) { MatchAttributeValue.new(:search_attr, value) }
|
25
|
+
let(:target) { SearchTarget.new(property: "other_value") }
|
26
|
+
let(:subject) { MatchAttributeValue.new(:property, "search_value") }
|
29
27
|
|
30
28
|
it "returns false" do
|
31
29
|
expect(subject.match?(target)).to be_falsey
|
@@ -33,9 +31,8 @@ RSpec.describe MatchAttributeValue do
|
|
33
31
|
end
|
34
32
|
|
35
33
|
describe "if the target doesn't have the attribute" do
|
36
|
-
let(:
|
37
|
-
let(:
|
38
|
-
let(:subject) { MatchAttribute.new(:bad_attr, value) }
|
34
|
+
let(:target) { SearchTarget.new(property: "search_value") }
|
35
|
+
let(:subject) { MatchAttribute.new(:bad_attr, "search_value") }
|
39
36
|
|
40
37
|
it "is false" do
|
41
38
|
expect(subject.match?(target)).to be_falsey
|
@@ -46,14 +43,14 @@ RSpec.describe MatchAttributeValue do
|
|
46
43
|
describe "build_me?" do
|
47
44
|
describe "given a non-nil search_type and search_param" do
|
48
45
|
it "is true" do
|
49
|
-
expect(MatchAttributeValue.build_me?(rand, rand)).to be_truthy
|
46
|
+
expect(MatchAttributeValue.build_me?(rand.to_s, rand.to_s)).to be_truthy
|
50
47
|
end
|
51
48
|
end
|
52
49
|
|
53
50
|
describe "given a nil search_type or search_param" do
|
54
51
|
it "is false" do
|
55
|
-
expect(MatchAttributeValue.build_me?(rand, nil)).to be_falsey
|
56
|
-
expect(MatchAttributeValue.build_me?(nil, rand)).to be_falsey
|
52
|
+
expect(MatchAttributeValue.build_me?(rand.to_s, nil)).to be_falsey
|
53
|
+
expect(MatchAttributeValue.build_me?(nil, rand.to_s)).to be_falsey
|
57
54
|
expect(MatchAttributeValue.build_me?(nil, nil)).to be_falsey
|
58
55
|
end
|
59
56
|
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require_relative "../../../../lib/query_string_search/abstract_matcher"
|
2
|
+
require_relative "../../../doubles/search_target"
|
3
|
+
|
4
|
+
RSpec.describe MatchMultipleAttributeValues do
|
5
|
+
describe "match?" do
|
6
|
+
it "matches if the target's attribute is one of the values" do
|
7
|
+
target = SearchTarget.new(property: "1994")
|
8
|
+
matcher = MatchMultipleAttributeValues.new(:property, "1994|1995")
|
9
|
+
expect(matcher.match?(target)).to be_truthy
|
10
|
+
end
|
11
|
+
|
12
|
+
it "does not match if the target's attribute is not one of the values" do
|
13
|
+
target = SearchTarget.new(property: "199")
|
14
|
+
matcher = MatchMultipleAttributeValues.new(:property, "1994|1995")
|
15
|
+
expect(matcher.match?(target)).to be_falsey
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "if the target doesn't have the attribute" do
|
19
|
+
it "is false" do
|
20
|
+
target = SearchTarget.new(property: "1994")
|
21
|
+
subject = MatchAttribute.new(:bad_attr, "1994|1995")
|
22
|
+
|
23
|
+
expect(subject.match?(target)).to be_falsey
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "build_me?" do
|
29
|
+
describe "given a search type and search param that contains a pipe" do
|
30
|
+
it "is true" do
|
31
|
+
expect(MatchMultipleAttributeValues.build_me?(rand, "x|y")).to be_truthy
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe "given a search type and search param that starts with a pipe" do
|
36
|
+
it "is false" do
|
37
|
+
expect(MatchMultipleAttributeValues.build_me?(rand, "|x|y")).to be_falsey
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe "given a search type without a pipe" do
|
42
|
+
it "is false" do
|
43
|
+
expect(MatchMultipleAttributeValues.build_me?(rand, "xy")).to be_falsey
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -1,10 +1,11 @@
|
|
1
1
|
require_relative "../../../../lib/query_string_search/abstract_matcher"
|
2
|
+
require_relative "../../../doubles/search_target"
|
2
3
|
|
3
4
|
RSpec.describe MatchNoAttribute do
|
4
5
|
describe "match?" do
|
5
6
|
describe "if the target's attribute is not nil" do
|
6
|
-
let(:target) {
|
7
|
-
let(:subject) { MatchNoAttribute.new(:
|
7
|
+
let(:target) { SearchTarget.new(property: "search_value") }
|
8
|
+
let(:subject) { MatchNoAttribute.new(:property) }
|
8
9
|
|
9
10
|
it "is false" do
|
10
11
|
expect(subject.match?(target)).to be_falsey
|
@@ -12,8 +13,8 @@ RSpec.describe MatchNoAttribute do
|
|
12
13
|
end
|
13
14
|
|
14
15
|
describe "if the target's attribute is true" do
|
15
|
-
let(:target) {
|
16
|
-
let(:subject) { MatchNoAttribute.new(:
|
16
|
+
let(:target) { SearchTarget.new(property: true) }
|
17
|
+
let(:subject) { MatchNoAttribute.new(:property) }
|
17
18
|
|
18
19
|
it "is true" do
|
19
20
|
expect(subject.match?(target)).to be_falsey
|
@@ -21,8 +22,8 @@ RSpec.describe MatchNoAttribute do
|
|
21
22
|
end
|
22
23
|
|
23
24
|
describe "if the target's attribute is false" do
|
24
|
-
let(:target) {
|
25
|
-
let(:subject) { MatchNoAttribute.new(:
|
25
|
+
let(:target) { SearchTarget.new(property: false) }
|
26
|
+
let(:subject) { MatchNoAttribute.new(:property) }
|
26
27
|
|
27
28
|
it "is true" do
|
28
29
|
expect(subject.match?(target)).to be_truthy
|
@@ -30,8 +31,8 @@ RSpec.describe MatchNoAttribute do
|
|
30
31
|
end
|
31
32
|
|
32
33
|
describe "if the target's attribute is nil" do
|
33
|
-
let(:target) {
|
34
|
-
let(:subject) { MatchNoAttribute.new(:
|
34
|
+
let(:target) { SearchTarget.new(property: nil) }
|
35
|
+
let(:subject) { MatchNoAttribute.new(:property) }
|
35
36
|
|
36
37
|
it "is true" do
|
37
38
|
expect(subject.match?(target)).to be_truthy
|
@@ -39,7 +40,7 @@ RSpec.describe MatchNoAttribute do
|
|
39
40
|
end
|
40
41
|
|
41
42
|
describe "if the target doesn't have the attribute" do
|
42
|
-
let(:target) {
|
43
|
+
let(:target) { SearchTarget.new(property: rand) }
|
43
44
|
let(:subject) { MatchNoAttribute.new(:bad_attr) }
|
44
45
|
|
45
46
|
it "is false" do
|
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require "codeclimate-test-reporter"
|
2
|
+
CodeClimate::TestReporter.start
|
3
|
+
|
1
4
|
# This file was generated by the `rails generate rspec:install` command. Conventionally, all
|
2
5
|
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
3
6
|
# The generated `.rspec` file contains `--require spec_helper` which will cause this
|
@@ -81,5 +84,3 @@ RSpec.configure do |config|
|
|
81
84
|
# as the one that triggered the failure.
|
82
85
|
Kernel.srand config.seed
|
83
86
|
end
|
84
|
-
|
85
|
-
Target = Struct.new(:search_attr)
|
metadata
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: query_string_search
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ian Whitney
|
8
|
+
- Debbie Gillespie
|
9
|
+
- Davin Lagerroos
|
8
10
|
autorequire:
|
9
11
|
bindir: bin
|
10
12
|
cert_chain: []
|
11
|
-
date: 2015-
|
13
|
+
date: 2015-02-11 00:00:00.000000000 Z
|
12
14
|
dependencies:
|
13
15
|
- !ruby/object:Gem::Dependency
|
14
16
|
name: bundler
|
@@ -52,6 +54,34 @@ dependencies:
|
|
52
54
|
- - "~>"
|
53
55
|
- !ruby/object:Gem::Version
|
54
56
|
version: '3'
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: codeclimate-test-reporter
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0.4'
|
64
|
+
type: :development
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - "~>"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0.4'
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: travis
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - "~>"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '1.7'
|
78
|
+
type: :development
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - "~>"
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '1.7'
|
55
85
|
- !ruby/object:Gem::Dependency
|
56
86
|
name: rubocop
|
57
87
|
requirement: !ruby/object:Gem::Requirement
|
@@ -68,15 +98,17 @@ dependencies:
|
|
68
98
|
version: '0'
|
69
99
|
description:
|
70
100
|
email:
|
71
|
-
-
|
101
|
+
- asrwebteam@umn.edu
|
72
102
|
executables: []
|
73
103
|
extensions: []
|
74
104
|
extra_rdoc_files: []
|
75
105
|
files:
|
76
106
|
- ".gitignore"
|
107
|
+
- ".hound.yml"
|
77
108
|
- ".rspec"
|
78
109
|
- ".rubocop.yml"
|
79
110
|
- ".ruby-version"
|
111
|
+
- ".travis.yml"
|
80
112
|
- Gemfile
|
81
113
|
- LICENSE.txt
|
82
114
|
- README.md
|
@@ -87,13 +119,16 @@ files:
|
|
87
119
|
- lib/query_string_search/matchers/match_all.rb
|
88
120
|
- lib/query_string_search/matchers/match_attribute.rb
|
89
121
|
- lib/query_string_search/matchers/match_attribute_value.rb
|
122
|
+
- lib/query_string_search/matchers/match_multiple_attribute_values.rb
|
90
123
|
- lib/query_string_search/matchers/match_no_attribute.rb
|
91
124
|
- lib/query_string_search/search_options.rb
|
92
125
|
- lib/query_string_search/search_parameters.rb
|
93
126
|
- lib/query_string_search/version.rb
|
94
127
|
- query_string_search.gemspec
|
128
|
+
- spec/doubles/search_target.rb
|
95
129
|
- spec/features/find_all_data_spec.rb
|
96
130
|
- spec/features/find_records_that_match_multiple_parameters_spec.rb
|
131
|
+
- spec/features/find_records_that_match_one_of_many_attributes_spec.rb
|
97
132
|
- spec/features/find_records_with_matching_attribute_values_spec.rb
|
98
133
|
- spec/features/find_records_with_nil_attributes_spec.rb
|
99
134
|
- spec/features/find_records_with_nonnil_attributes_spec.rb
|
@@ -104,6 +139,7 @@ files:
|
|
104
139
|
- spec/lib/query_string_search/matchers/match_all_spec.rb
|
105
140
|
- spec/lib/query_string_search/matchers/match_attribute_spec.rb
|
106
141
|
- spec/lib/query_string_search/matchers/match_attribute_value_spec.rb
|
142
|
+
- spec/lib/query_string_search/matchers/match_multiple_attribute_values_spec.rb
|
107
143
|
- spec/lib/query_string_search/matchers/match_no_attribute_spec.rb
|
108
144
|
- spec/lib/query_string_search/search_options_spec.rb
|
109
145
|
- spec/lib/query_string_search/search_parameters_spec.rb
|
@@ -133,8 +169,10 @@ signing_key:
|
|
133
169
|
specification_version: 4
|
134
170
|
summary: Provides a standard way to do searches using query strings in an API endpoint
|
135
171
|
test_files:
|
172
|
+
- spec/doubles/search_target.rb
|
136
173
|
- spec/features/find_all_data_spec.rb
|
137
174
|
- spec/features/find_records_that_match_multiple_parameters_spec.rb
|
175
|
+
- spec/features/find_records_that_match_one_of_many_attributes_spec.rb
|
138
176
|
- spec/features/find_records_with_matching_attribute_values_spec.rb
|
139
177
|
- spec/features/find_records_with_nil_attributes_spec.rb
|
140
178
|
- spec/features/find_records_with_nonnil_attributes_spec.rb
|
@@ -145,6 +183,7 @@ test_files:
|
|
145
183
|
- spec/lib/query_string_search/matchers/match_all_spec.rb
|
146
184
|
- spec/lib/query_string_search/matchers/match_attribute_spec.rb
|
147
185
|
- spec/lib/query_string_search/matchers/match_attribute_value_spec.rb
|
186
|
+
- spec/lib/query_string_search/matchers/match_multiple_attribute_values_spec.rb
|
148
187
|
- spec/lib/query_string_search/matchers/match_no_attribute_spec.rb
|
149
188
|
- spec/lib/query_string_search/search_options_spec.rb
|
150
189
|
- spec/lib/query_string_search/search_parameters_spec.rb
|