search_cop 1.0.9 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.github/workflows/test.yml +50 -0
- data/.rubocop.yml +134 -0
- data/CHANGELOG.md +29 -7
- data/Gemfile +4 -17
- data/README.md +69 -3
- data/Rakefile +0 -1
- data/docker-compose.yml +18 -0
- data/gemfiles/rails5.gemfile +13 -0
- data/gemfiles/rails6.gemfile +13 -0
- data/gemfiles/rails7.gemfile +13 -0
- data/lib/search_cop/grammar_parser.rb +3 -4
- data/lib/search_cop/hash_parser.rb +20 -18
- data/lib/search_cop/helpers.rb +15 -0
- data/lib/search_cop/query_builder.rb +3 -5
- data/lib/search_cop/query_info.rb +0 -2
- data/lib/search_cop/search_scope.rb +2 -4
- data/lib/search_cop/version.rb +1 -1
- data/lib/search_cop/visitors/mysql.rb +4 -2
- data/lib/search_cop/visitors/postgres.rb +5 -3
- data/lib/search_cop/visitors/visitor.rb +7 -5
- data/lib/search_cop/visitors.rb +0 -2
- data/lib/search_cop.rb +15 -13
- data/lib/search_cop_grammar/attributes.rb +53 -34
- data/lib/search_cop_grammar/nodes.rb +0 -2
- data/lib/search_cop_grammar.rb +13 -4
- data/lib/search_cop_grammar.treetop +6 -4
- data/search_cop.gemspec +9 -11
- data/test/and_test.rb +6 -8
- data/test/boolean_test.rb +7 -9
- data/test/database.yml +4 -1
- data/test/date_test.rb +38 -12
- data/test/datetime_test.rb +45 -12
- data/test/default_operator_test.rb +51 -0
- data/test/error_test.rb +2 -4
- data/test/float_test.rb +16 -11
- data/test/fulltext_test.rb +6 -8
- data/test/hash_test.rb +32 -34
- data/test/integer_test.rb +9 -11
- data/test/not_test.rb +6 -8
- data/test/or_test.rb +8 -10
- data/test/scope_test.rb +11 -13
- data/test/search_cop_test.rb +42 -36
- data/test/string_test.rb +67 -19
- data/test/test_helper.rb +28 -18
- data/test/visitor_test.rb +4 -6
- metadata +25 -42
- data/.travis.yml +0 -45
- data/Appraisals +0 -21
- data/gemfiles/3.2.gemfile +0 -25
- data/gemfiles/4.0.gemfile +0 -25
- data/gemfiles/4.1.gemfile +0 -25
- data/gemfiles/4.2.gemfile +0 -25
- data/gemfiles/5.0.gemfile +0 -25
data/.travis.yml
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
|
2
|
-
addons:
|
3
|
-
postgresql: "9.3"
|
4
|
-
|
5
|
-
before_script:
|
6
|
-
- mysql -e 'create database search_cop;'
|
7
|
-
- psql -c 'create database search_cop;' -U postgres
|
8
|
-
|
9
|
-
rvm:
|
10
|
-
- 2.1.10
|
11
|
-
- 2.2.5
|
12
|
-
- 2.3.1
|
13
|
-
- rbx-3
|
14
|
-
- jruby
|
15
|
-
env:
|
16
|
-
- DATABASE=sqlite
|
17
|
-
- DATABASE=mysql
|
18
|
-
- DATABASE=postgres
|
19
|
-
matrix:
|
20
|
-
include:
|
21
|
-
- rvm: 2.4.1
|
22
|
-
gemfile: gemfiles/5.0-Gemfile
|
23
|
-
env: DATABASE=sqlite
|
24
|
-
- rvm: 2.4.1
|
25
|
-
gemfile: gemfiles/5.0-Gemfile
|
26
|
-
env: DATABASE=mysql
|
27
|
-
- rvm: 2.4.1
|
28
|
-
gemfile: gemfiles/5.0-Gemfile
|
29
|
-
env: DATABASE=postgres
|
30
|
-
allow_failures:
|
31
|
-
- rvm: rbx-3
|
32
|
-
- rvm: jruby
|
33
|
-
|
34
|
-
gemfile:
|
35
|
-
- gemfiles/3.2.gemfile
|
36
|
-
- gemfiles/4.0.gemfile
|
37
|
-
- gemfiles/4.1.gemfile
|
38
|
-
- gemfiles/4.2.gemfile
|
39
|
-
|
40
|
-
install:
|
41
|
-
- "travis_retry bundle install"
|
42
|
-
|
43
|
-
script: "bundle exec rake test"
|
44
|
-
sudo: false
|
45
|
-
|
data/Appraisals
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
|
2
|
-
appraise "3.2" do
|
3
|
-
gem "activerecord", "~> 3.2"
|
4
|
-
gem "search_cop", :path => "../"
|
5
|
-
end
|
6
|
-
|
7
|
-
appraise "4.1" do
|
8
|
-
gem "activerecord", "~> 4.1"
|
9
|
-
gem "search_cop", :path => "../"
|
10
|
-
end
|
11
|
-
|
12
|
-
appraise "4.2" do
|
13
|
-
gem "activerecord", "~> 4.2"
|
14
|
-
gem "search_cop", :path => "../"
|
15
|
-
end
|
16
|
-
|
17
|
-
appraise "5.0" do
|
18
|
-
gem "activerecord", "~> 5.0"
|
19
|
-
gem "search_cop", :path => "../"
|
20
|
-
end
|
21
|
-
|
data/gemfiles/3.2.gemfile
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# This file was generated by Appraisal
|
2
|
-
|
3
|
-
source "https://rubygems.org"
|
4
|
-
|
5
|
-
gem "activerecord", "~> 3.2.22"
|
6
|
-
|
7
|
-
platforms :jruby do
|
8
|
-
gem "activerecord-jdbcmysql-adapter"
|
9
|
-
gem "activerecord-jdbcsqlite3-adapter"
|
10
|
-
gem "activerecord-jdbcpostgresql-adapter"
|
11
|
-
end
|
12
|
-
|
13
|
-
platforms :ruby do
|
14
|
-
gem "sqlite3"
|
15
|
-
gem "mysql2", "~> 0.3.20"
|
16
|
-
gem "pg"
|
17
|
-
end
|
18
|
-
|
19
|
-
platforms :rbx do
|
20
|
-
gem "racc"
|
21
|
-
gem "rubysl", "~> 2.0"
|
22
|
-
gem "psych"
|
23
|
-
end
|
24
|
-
|
25
|
-
gemspec :path => "../"
|
data/gemfiles/4.0.gemfile
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# This file was generated by Appraisal
|
2
|
-
|
3
|
-
source "https://rubygems.org"
|
4
|
-
|
5
|
-
gem "activerecord", "~> 4.0.13"
|
6
|
-
|
7
|
-
platforms :jruby do
|
8
|
-
gem "activerecord-jdbcmysql-adapter"
|
9
|
-
gem "activerecord-jdbcsqlite3-adapter"
|
10
|
-
gem "activerecord-jdbcpostgresql-adapter"
|
11
|
-
end
|
12
|
-
|
13
|
-
platforms :ruby do
|
14
|
-
gem "sqlite3"
|
15
|
-
gem "mysql2", "~> 0.3.20"
|
16
|
-
gem "pg"
|
17
|
-
end
|
18
|
-
|
19
|
-
platforms :rbx do
|
20
|
-
gem "racc"
|
21
|
-
gem "rubysl", "~> 2.0"
|
22
|
-
gem "psych"
|
23
|
-
end
|
24
|
-
|
25
|
-
gemspec :path => "../"
|
data/gemfiles/4.1.gemfile
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# This file was generated by Appraisal
|
2
|
-
|
3
|
-
source "https://rubygems.org"
|
4
|
-
|
5
|
-
gem "activerecord", "~> 4.1.13"
|
6
|
-
|
7
|
-
platforms :jruby do
|
8
|
-
gem "activerecord-jdbcmysql-adapter"
|
9
|
-
gem "activerecord-jdbcsqlite3-adapter"
|
10
|
-
gem "activerecord-jdbcpostgresql-adapter"
|
11
|
-
end
|
12
|
-
|
13
|
-
platforms :ruby do
|
14
|
-
gem "sqlite3"
|
15
|
-
gem "mysql2", "~> 0.3.20"
|
16
|
-
gem "pg"
|
17
|
-
end
|
18
|
-
|
19
|
-
platforms :rbx do
|
20
|
-
gem "racc"
|
21
|
-
gem "rubysl", "~> 2.0"
|
22
|
-
gem "psych"
|
23
|
-
end
|
24
|
-
|
25
|
-
gemspec :path => "../"
|
data/gemfiles/4.2.gemfile
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# This file was generated by Appraisal
|
2
|
-
|
3
|
-
source "https://rubygems.org"
|
4
|
-
|
5
|
-
gem "activerecord", "~> 4.2.4"
|
6
|
-
|
7
|
-
platforms :jruby do
|
8
|
-
gem "activerecord-jdbcmysql-adapter"
|
9
|
-
gem "activerecord-jdbcsqlite3-adapter"
|
10
|
-
gem "activerecord-jdbcpostgresql-adapter"
|
11
|
-
end
|
12
|
-
|
13
|
-
platforms :ruby do
|
14
|
-
gem "sqlite3"
|
15
|
-
gem "mysql2", "~> 0.3.20"
|
16
|
-
gem "pg"
|
17
|
-
end
|
18
|
-
|
19
|
-
platforms :rbx do
|
20
|
-
gem "racc"
|
21
|
-
gem "rubysl", "~> 2.0"
|
22
|
-
gem "psych"
|
23
|
-
end
|
24
|
-
|
25
|
-
gemspec :path => "../"
|
data/gemfiles/5.0.gemfile
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# This file was generated by Appraisal
|
2
|
-
|
3
|
-
source "https://rubygems.org"
|
4
|
-
|
5
|
-
gem "activerecord", "~> 5.0"
|
6
|
-
|
7
|
-
platforms :jruby do
|
8
|
-
gem "activerecord-jdbcmysql-adapter"
|
9
|
-
gem "activerecord-jdbcsqlite3-adapter"
|
10
|
-
gem "activerecord-jdbcpostgresql-adapter"
|
11
|
-
end
|
12
|
-
|
13
|
-
platforms :ruby do
|
14
|
-
gem "sqlite3"
|
15
|
-
gem "mysql2", "~> 0.3.20"
|
16
|
-
gem "pg"
|
17
|
-
end
|
18
|
-
|
19
|
-
platforms :rbx do
|
20
|
-
gem "racc"
|
21
|
-
gem "rubysl", "~> 2.0"
|
22
|
-
gem "psych"
|
23
|
-
end
|
24
|
-
|
25
|
-
gemspec :path => "../"
|