rails_scopy 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8eba4ca1306ea319ae7a383f2ab5d94253b86efa80e5856b91f171e14a9ad33b
4
- data.tar.gz: 0ef250f4f325879b03b4262007d68587d5ccf2d0bfb50efd4a78ecf95692c906
3
+ metadata.gz: bc63e93f38c5caf4d65548e0b427b6cefd9726baba3b3b9bca883cf522994c84
4
+ data.tar.gz: fc818f63f4916fa62ef388a8c842226346da24561423a9c0e9098e907cd60013
5
5
  SHA512:
6
- metadata.gz: 04e594bbd1b428bb53b81f01bca1c71475d2138b7186cd287a0f442a79d608b1185f743926f94ba58f820db6cff119ad8df92a83ad7f59cb50e6c6498a932c4c
7
- data.tar.gz: e5823686f0831ef31920cea5586f4cbcbc53346ce93598bd1cc64e0b27c33aec9508fcb3cb443f3bb1910c2ee7e073cf0cc7d9041b562e31c3bf538b2640c123
6
+ metadata.gz: e355a4ce4669960be6c726039a1bedf8cda7203e87c2df010f6d0827a31750cd9939c6c33ca557b5fc5e3e2c8d4b343c2027d6723bf8cb6235db8b095dbf4327
7
+ data.tar.gz: 54fc32791a37b0752a2e96f6519a5cd21415411405c23758e01c6d774854af4464b98aee95335e2992f4412352afd7f689e9c0aa25f76176861d2aef4b4a34f9
data/.coveralls.yml ADDED
@@ -0,0 +1,2 @@
1
+ service_name: travis-pro
2
+ repo_token: wgq7163EGaFM6rLnic0lSIoXDhpCYRS9o
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 -v 2.1.0
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 (>= 4.2, < 7)
5
+ activerecord (>= 5.2, < 7)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (6.0.2.1)
11
- activesupport (= 6.0.2.1)
12
- activerecord (6.0.2.1)
13
- activemodel (= 6.0.2.1)
14
- activesupport (= 6.0.2.1)
15
- activesupport (6.0.2.1)
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.10.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.2)
37
- rake (10.5.0)
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.0)
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.2.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 (~> 10.0)
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
+ [![Gem Version](https://badge.fury.io/rb/rails_scopy.svg)](https://badge.fury.io/rb/rails_scopy)
4
+ [![Maintainability](https://api.codeclimate.com/v1/badges/79cdc15c16da15562c25/maintainability)](https://codeclimate.com/github/OpenGems/rails_scopy/maintainability)
5
+ [![Build Status](https://travis-ci.org/OpenGems/rails_scopy.svg?branch=master)](https://travis-ci.org/OpenGems/rails_scopy)
6
+ [![security](https://hakiri.io/github/OpenGems/rails_scopy/master.svg)](https://hakiri.io/github/OpenGems/rails_scopy/master)
7
+ ![Gem](https://img.shields.io/gem/dt/rails_scopy)
8
+ [![Coverage Status](https://coveralls.io/repos/github/OpenGems/rails_scopy/badge.svg?branch=master)](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
- TODO: Write usage instructions here
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
 
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activerecord', '~> 5.2'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activerecord', '~> 6.0'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsScopy
4
- VERSION = '0.1.0'
4
+ VERSION = '0.1.1'
5
5
  end
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', '>= 4.2', '< 7'
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', '~> 10.0'
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.0
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-02-27 00:00:00.000000000 Z
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: '4.2'
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: '4.2'
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: '10.0'
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: '10.0'
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