rails_scopy 0.1.0 → 0.1.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/.coveralls.yml +2 -0
- data/.travis.yml +1 -2
- data/Gemfile.lock +13 -13
- data/README.md +69 -1
- data/gemfiles/Gemfile-5-2 +5 -0
- data/gemfiles/Gemfile-6-0 +5 -0
- data/lib/rails_scopy/version.rb +1 -1
- data/rails_scopy.gemspec +2 -2
- metadata +9 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bc63e93f38c5caf4d65548e0b427b6cefd9726baba3b3b9bca883cf522994c84
|
4
|
+
data.tar.gz: fc818f63f4916fa62ef388a8c842226346da24561423a9c0e9098e907cd60013
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e355a4ce4669960be6c726039a1bedf8cda7203e87c2df010f6d0827a31750cd9939c6c33ca557b5fc5e3e2c8d4b343c2027d6723bf8cb6235db8b095dbf4327
|
7
|
+
data.tar.gz: 54fc32791a37b0752a2e96f6519a5cd21415411405c23758e01c6d774854af4464b98aee95335e2992f4412352afd7f689e9c0aa25f76176861d2aef4b4a34f9
|
data/.coveralls.yml
ADDED
data/.travis.yml
CHANGED
@@ -8,10 +8,9 @@ rvm:
|
|
8
8
|
- 2.5.5
|
9
9
|
- 2.6.3
|
10
10
|
gemfile:
|
11
|
-
- gemfiles/Gemfile-4-2
|
12
11
|
- gemfiles/Gemfile-5-2
|
13
12
|
- gemfiles/Gemfile-6-0
|
14
|
-
before_install: gem install bundler
|
13
|
+
before_install: gem install bundler
|
15
14
|
before_script:
|
16
15
|
- bundle install
|
17
16
|
- psql -c 'create database rails_scopy;' -U postgres
|
data/Gemfile.lock
CHANGED
@@ -2,17 +2,17 @@ PATH
|
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
4
|
rails_scopy (0.1.0)
|
5
|
-
activerecord (>=
|
5
|
+
activerecord (>= 5.2, < 7)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
activemodel (6.0.2.
|
11
|
-
activesupport (= 6.0.2.
|
12
|
-
activerecord (6.0.2.
|
13
|
-
activemodel (= 6.0.2.
|
14
|
-
activesupport (= 6.0.2.
|
15
|
-
activesupport (6.0.2.
|
10
|
+
activemodel (6.0.2.2)
|
11
|
+
activesupport (= 6.0.2.2)
|
12
|
+
activerecord (6.0.2.2)
|
13
|
+
activemodel (= 6.0.2.2)
|
14
|
+
activesupport (= 6.0.2.2)
|
15
|
+
activesupport (6.0.2.2)
|
16
16
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
17
17
|
i18n (>= 0.7, < 2)
|
18
18
|
minitest (~> 5.1)
|
@@ -27,21 +27,21 @@ GEM
|
|
27
27
|
tins (~> 1.6)
|
28
28
|
diff-lcs (1.3)
|
29
29
|
docile (1.3.2)
|
30
|
-
faker (2.
|
30
|
+
faker (2.11.0)
|
31
31
|
i18n (>= 1.6, < 2)
|
32
32
|
i18n (1.8.2)
|
33
33
|
concurrent-ruby (~> 1.0)
|
34
34
|
json (2.3.0)
|
35
35
|
minitest (5.14.0)
|
36
|
-
pg (1.2.
|
37
|
-
rake (
|
36
|
+
pg (1.2.3)
|
37
|
+
rake (13.0.1)
|
38
38
|
rspec (3.9.0)
|
39
39
|
rspec-core (~> 3.9.0)
|
40
40
|
rspec-expectations (~> 3.9.0)
|
41
41
|
rspec-mocks (~> 3.9.0)
|
42
42
|
rspec-core (3.9.1)
|
43
43
|
rspec-support (~> 3.9.1)
|
44
|
-
rspec-expectations (3.9.
|
44
|
+
rspec-expectations (3.9.1)
|
45
45
|
diff-lcs (>= 1.2.0, < 2.0)
|
46
46
|
rspec-support (~> 3.9.0)
|
47
47
|
rspec-mocks (3.9.1)
|
@@ -62,7 +62,7 @@ GEM
|
|
62
62
|
sync
|
63
63
|
tzinfo (1.2.6)
|
64
64
|
thread_safe (~> 0.1)
|
65
|
-
zeitwerk (2.
|
65
|
+
zeitwerk (2.3.0)
|
66
66
|
|
67
67
|
PLATFORMS
|
68
68
|
ruby
|
@@ -73,7 +73,7 @@ DEPENDENCIES
|
|
73
73
|
faker (~> 2.10)
|
74
74
|
pg (~> 1.2)
|
75
75
|
rails_scopy!
|
76
|
-
rake (~>
|
76
|
+
rake (~> 13.0)
|
77
77
|
rspec (~> 3.0)
|
78
78
|
simplecov (~> 0.16)
|
79
79
|
|
data/README.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# RailsScopy
|
2
2
|
|
3
|
+
[](https://badge.fury.io/rb/rails_scopy)
|
4
|
+
[](https://codeclimate.com/github/OpenGems/rails_scopy/maintainability)
|
5
|
+
[](https://travis-ci.org/OpenGems/rails_scopy)
|
6
|
+
[](https://hakiri.io/github/OpenGems/rails_scopy/master)
|
7
|
+

|
8
|
+
[](https://coveralls.io/github/OpenGems/rails_scopy?branch=master)
|
9
|
+
|
3
10
|
Generate automatically scopes in your model (PostgreSQL, SQLite, MySQL, etc...)
|
4
11
|
|
5
12
|
## Installation
|
@@ -20,7 +27,68 @@ Or install it yourself as:
|
|
20
27
|
|
21
28
|
## Usage
|
22
29
|
|
23
|
-
|
30
|
+
Include ```RailsScopy``` in each models
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
class User < ApplicationRecord
|
34
|
+
include RailsScopy
|
35
|
+
end
|
36
|
+
```
|
37
|
+
|
38
|
+
or in the parent model
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
class ApplicationRecord < ActiveRecord::Base
|
42
|
+
include RailsScopy
|
43
|
+
end
|
44
|
+
```
|
45
|
+
|
46
|
+
and
|
47
|
+
|
48
|
+
```ruby
|
49
|
+
User.not_admin
|
50
|
+
|
51
|
+
User.first_name_contains('Test')
|
52
|
+
```
|
53
|
+
|
54
|
+
|
55
|
+
### Scopes available
|
56
|
+
|
57
|
+
| SQL type | Scope method | Description |
|
58
|
+
| ------------- | ------------- | ------------- |
|
59
|
+
| All | `#{column}_eq(value)` | equal |
|
60
|
+
| All | `#{column}_not_eq(value)` | not equal |
|
61
|
+
| All | `#{column}_null` | is null |
|
62
|
+
| All | `#{column}_not_null` | is not null |
|
63
|
+
| All | `#{column}_present` | not null and not empty |
|
64
|
+
| All | `#{column}_blank` | null or empty |
|
65
|
+
| All | `ascend_by_#{column}` | ascending order |
|
66
|
+
| All | `descend_by_#{column}` | descending order |
|
67
|
+
| boolean | `#{column}` | true |
|
68
|
+
| boolean | `not_#{column}` | false |
|
69
|
+
| json | `#{column}_has_key(value)` | key present in json |
|
70
|
+
| json | `not_#{column}_has_not_key(value)` | key doesn't present in json |
|
71
|
+
| boolean | `#{column}` | true |
|
72
|
+
| boolean | `not_#{column}` | false |
|
73
|
+
| date, datetime, time | `#{column}_to(value)` | <= to |
|
74
|
+
| date, datetime, time | `#{column}_from(value)` | from >= |
|
75
|
+
| date, datetime, time | `#{column}_after(value)` | after > |
|
76
|
+
| date, datetime, time | `#{column}_before(value)` | < before |
|
77
|
+
| date, datetime, time | `#{column}_between(value)` | from >= <= to |
|
78
|
+
| string, text | `#{column}_contains(value)` | contains |
|
79
|
+
| string, text | `#{column}_not_contains(value)` | doesn't contains |
|
80
|
+
| string, text | `#{column}_starts_with(value)` | start with |
|
81
|
+
| string, text | `#{column}_not_starts_with(value)` | doesn't start with |
|
82
|
+
| string, text | `#{column}_ends_with(value)` | end with |
|
83
|
+
| string, text | `#{column}_not_ends_with(value)` | doesn't end with |
|
84
|
+
| string, text | `#{column}_length(value)` | length eql |
|
85
|
+
| string, text | `#{column}_between_length(value)` | from >= <= to (length) |
|
86
|
+
| integer, float | `#{column}_to(value)` | <= to |
|
87
|
+
| integer, float | `#{column}_from(value)` | from >= |
|
88
|
+
| integer, float | `#{column}_above(value)` | above > |
|
89
|
+
| integer, float | `#{column}_below(value)` | < below |
|
90
|
+
| integer, float | `#{column}_between(value)` | from >= <= to |
|
91
|
+
| float | `#{column}_scale(value)` | scale eql (Number of decimal digits) |
|
24
92
|
|
25
93
|
## Contributing
|
26
94
|
|
data/lib/rails_scopy/version.rb
CHANGED
data/rails_scopy.gemspec
CHANGED
@@ -26,12 +26,12 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
27
27
|
spec.require_paths = ['lib']
|
28
28
|
|
29
|
-
spec.add_dependency 'activerecord', '>=
|
29
|
+
spec.add_dependency 'activerecord', '>= 5.2', '< 7'
|
30
30
|
|
31
31
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
32
32
|
spec.add_development_dependency 'coveralls', '~> 0.8'
|
33
33
|
spec.add_development_dependency 'faker', '~> 2.10'
|
34
|
-
spec.add_development_dependency 'rake', '~>
|
34
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
35
35
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
36
36
|
spec.add_development_dependency 'simplecov', '~> 0.16'
|
37
37
|
spec.add_development_dependency 'pg', '~> 1.2'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_scopy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Boris BRESCIANI
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '5.2'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '7'
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
29
|
+
version: '5.2'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '7'
|
@@ -78,14 +78,14 @@ dependencies:
|
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
81
|
+
version: '13.0'
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: '
|
88
|
+
version: '13.0'
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
90
|
name: rspec
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,6 +136,7 @@ executables: []
|
|
136
136
|
extensions: []
|
137
137
|
extra_rdoc_files: []
|
138
138
|
files:
|
139
|
+
- ".coveralls.yml"
|
139
140
|
- ".gitignore"
|
140
141
|
- ".rspec"
|
141
142
|
- ".rubocop.yml"
|
@@ -147,6 +148,8 @@ files:
|
|
147
148
|
- Rakefile
|
148
149
|
- bin/console
|
149
150
|
- bin/setup
|
151
|
+
- gemfiles/Gemfile-5-2
|
152
|
+
- gemfiles/Gemfile-6-0
|
150
153
|
- lib/rails_scopy.rb
|
151
154
|
- lib/rails_scopy/version.rb
|
152
155
|
- rails_scopy.gemspec
|