activerecord-setops 0.1.7 → 1.0.0
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/.github/workflows/ruby.yml +25 -11
- data/CHANGELOG.md +7 -2
- data/Gemfile +7 -0
- data/Gemfile.lock +53 -44
- data/README.md +1 -3
- data/activerecord-setops.gemspec +1 -6
- data/lib/active_record/setops/version.rb +1 -1
- metadata +5 -87
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 70c39529d33485dd3cbcd0820870cdd8d73e2db9d70acab7ca84d4e50f3e539b
|
|
4
|
+
data.tar.gz: ffacade3e925a20c850be2c25be1a36e2a31d0aebcf81ac7ae9f40b61627f23a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1ac1cb5ca6ba34b0851221d54750af0670d995c972ac251e4372aeed4c5789473afbf1fae4561e157bb6192e13eeec915162bd7a3b98b33b727f28531393025e
|
|
7
|
+
data.tar.gz: 52bffa93df07b8cf7b47d3cec8ca881f8da646955ccf85e8f7b472e03609859895e15137d44868c1c1dd1c5d41699235f195e6a082bb7bfd1e96c0354c67266b
|
data/.github/workflows/ruby.yml
CHANGED
|
@@ -1,21 +1,35 @@
|
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
|
2
|
+
# They are provided by a third-party and are governed by
|
|
3
|
+
# separate terms of service, privacy policy, and support
|
|
4
|
+
# documentation.
|
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
|
7
|
+
|
|
1
8
|
name: Ruby
|
|
2
9
|
|
|
3
|
-
on:
|
|
10
|
+
on:
|
|
11
|
+
push:
|
|
12
|
+
branches: [ master ]
|
|
13
|
+
pull_request:
|
|
14
|
+
branches: [ master ]
|
|
4
15
|
|
|
5
16
|
jobs:
|
|
6
|
-
|
|
17
|
+
test:
|
|
7
18
|
|
|
8
19
|
runs-on: ubuntu-latest
|
|
20
|
+
strategy:
|
|
21
|
+
matrix:
|
|
22
|
+
ruby-version: ['2.6', '2.7', '3.0']
|
|
9
23
|
|
|
10
24
|
steps:
|
|
11
25
|
- uses: actions/checkout@v2
|
|
12
|
-
- name: Set up Ruby
|
|
13
|
-
|
|
26
|
+
- name: Set up Ruby
|
|
27
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
|
28
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
|
29
|
+
# uses: ruby/setup-ruby@v1
|
|
30
|
+
uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
|
|
14
31
|
with:
|
|
15
|
-
ruby-version:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
gem install bundler
|
|
20
|
-
bundle install --jobs 4 --retry 3
|
|
21
|
-
bundle exec rake
|
|
32
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
33
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
34
|
+
- name: Run tests
|
|
35
|
+
run: bundle exec rake
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
|
@@ -4,3 +4,10 @@ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
|
|
|
4
4
|
|
|
5
5
|
# Specify your gem's dependencies in activerecord-setoperations.gemspec
|
|
6
6
|
gemspec
|
|
7
|
+
|
|
8
|
+
gem 'gen-test', github: 'delonnewman/gen-test'
|
|
9
|
+
gem 'contracts-gen', github: 'delonnewman/contracts-gen'
|
|
10
|
+
|
|
11
|
+
gem 'activerecord', '>= 5.2'
|
|
12
|
+
gem 'activesupport', '>= 5.2'
|
|
13
|
+
gem 'sqlite3', '~> 1.4.2'
|
data/Gemfile.lock
CHANGED
|
@@ -1,71 +1,80 @@
|
|
|
1
|
+
GIT
|
|
2
|
+
remote: https://github.com/delonnewman/contracts-gen
|
|
3
|
+
revision: 48f5d08cf2df0f2f21df887b77022b5793c7017e
|
|
4
|
+
specs:
|
|
5
|
+
contracts-gen (0.2.0)
|
|
6
|
+
contracts (~> 0.16.0)
|
|
7
|
+
faker (~> 1.9.6)
|
|
8
|
+
gen-test (~> 0.2)
|
|
9
|
+
|
|
10
|
+
GIT
|
|
11
|
+
remote: https://github.com/delonnewman/gen-test
|
|
12
|
+
revision: 3279faed9301ac6f7accf137d58ff6dae124b834
|
|
13
|
+
specs:
|
|
14
|
+
gen-test (0.2.0)
|
|
15
|
+
faker (~> 1.9.6)
|
|
16
|
+
regexp-examples (~> 1.5.0)
|
|
17
|
+
|
|
1
18
|
PATH
|
|
2
19
|
remote: .
|
|
3
20
|
specs:
|
|
4
|
-
activerecord-setops (0.
|
|
21
|
+
activerecord-setops (1.0.0)
|
|
5
22
|
|
|
6
23
|
GEM
|
|
7
24
|
remote: https://rubygems.org/
|
|
8
25
|
specs:
|
|
9
|
-
activemodel (
|
|
10
|
-
activesupport (=
|
|
11
|
-
activerecord (
|
|
12
|
-
activemodel (=
|
|
13
|
-
activesupport (=
|
|
14
|
-
|
|
15
|
-
activesupport (5.2.4.3)
|
|
26
|
+
activemodel (6.1.1)
|
|
27
|
+
activesupport (= 6.1.1)
|
|
28
|
+
activerecord (6.1.1)
|
|
29
|
+
activemodel (= 6.1.1)
|
|
30
|
+
activesupport (= 6.1.1)
|
|
31
|
+
activesupport (6.1.1)
|
|
16
32
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
17
|
-
i18n (>=
|
|
18
|
-
minitest (
|
|
19
|
-
tzinfo (~>
|
|
20
|
-
|
|
21
|
-
concurrent-ruby (1.1.
|
|
33
|
+
i18n (>= 1.6, < 2)
|
|
34
|
+
minitest (>= 5.1)
|
|
35
|
+
tzinfo (~> 2.0)
|
|
36
|
+
zeitwerk (~> 2.3)
|
|
37
|
+
concurrent-ruby (1.1.8)
|
|
22
38
|
contracts (0.16.0)
|
|
23
|
-
|
|
24
|
-
contracts (~> 0.16.0)
|
|
25
|
-
faker (~> 1.9.6)
|
|
26
|
-
gen-test (~> 0.1.0)
|
|
27
|
-
diff-lcs (1.3)
|
|
39
|
+
diff-lcs (1.4.4)
|
|
28
40
|
faker (1.9.6)
|
|
29
41
|
i18n (>= 0.7)
|
|
30
|
-
|
|
31
|
-
faker (~> 1.9.6)
|
|
32
|
-
regexp-examples (~> 1.5.0)
|
|
33
|
-
i18n (1.8.2)
|
|
42
|
+
i18n (1.8.7)
|
|
34
43
|
concurrent-ruby (~> 1.0)
|
|
35
|
-
minitest (5.14.
|
|
36
|
-
rake (13.0.
|
|
44
|
+
minitest (5.14.3)
|
|
45
|
+
rake (13.0.3)
|
|
37
46
|
regexp-examples (1.5.1)
|
|
38
|
-
rspec (3.
|
|
39
|
-
rspec-core (~> 3.
|
|
40
|
-
rspec-expectations (~> 3.
|
|
41
|
-
rspec-mocks (~> 3.
|
|
42
|
-
rspec-core (3.
|
|
43
|
-
rspec-support (~> 3.
|
|
44
|
-
rspec-expectations (3.
|
|
47
|
+
rspec (3.10.0)
|
|
48
|
+
rspec-core (~> 3.10.0)
|
|
49
|
+
rspec-expectations (~> 3.10.0)
|
|
50
|
+
rspec-mocks (~> 3.10.0)
|
|
51
|
+
rspec-core (3.10.1)
|
|
52
|
+
rspec-support (~> 3.10.0)
|
|
53
|
+
rspec-expectations (3.10.1)
|
|
45
54
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
46
|
-
rspec-support (~> 3.
|
|
47
|
-
rspec-mocks (3.
|
|
55
|
+
rspec-support (~> 3.10.0)
|
|
56
|
+
rspec-mocks (3.10.1)
|
|
48
57
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
49
|
-
rspec-support (~> 3.
|
|
50
|
-
rspec-support (3.
|
|
58
|
+
rspec-support (~> 3.10.0)
|
|
59
|
+
rspec-support (3.10.1)
|
|
51
60
|
sqlite3 (1.4.2)
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
61
|
+
tzinfo (2.0.4)
|
|
62
|
+
concurrent-ruby (~> 1.0)
|
|
63
|
+
zeitwerk (2.4.2)
|
|
55
64
|
|
|
56
65
|
PLATFORMS
|
|
57
66
|
ruby
|
|
58
67
|
|
|
59
68
|
DEPENDENCIES
|
|
60
|
-
activerecord (>= 5.2
|
|
69
|
+
activerecord (>= 5.2)
|
|
61
70
|
activerecord-setops!
|
|
62
|
-
activesupport (>= 5.2
|
|
63
|
-
bundler (~> 1
|
|
64
|
-
contracts-gen
|
|
65
|
-
gen-test
|
|
71
|
+
activesupport (>= 5.2)
|
|
72
|
+
bundler (~> 2.1)
|
|
73
|
+
contracts-gen!
|
|
74
|
+
gen-test!
|
|
66
75
|
rake (~> 13.0)
|
|
67
76
|
rspec (~> 3.0)
|
|
68
77
|
sqlite3 (~> 1.4.2)
|
|
69
78
|
|
|
70
79
|
BUNDLED WITH
|
|
71
|
-
|
|
80
|
+
2.2.3
|
data/README.md
CHANGED
|
@@ -45,17 +45,15 @@ If you'd like the functionality, but would prefer to avoid yet another dependenc
|
|
|
45
45
|
```ruby
|
|
46
46
|
module ActiveRecord
|
|
47
47
|
class Relation
|
|
48
|
-
# Performs a set theoretic union works like `Array#+` but puts the load on the database
|
|
49
|
-
# and allows you to chain more relation operations.
|
|
50
48
|
def union(other)
|
|
51
49
|
binary_operation(Arel::Nodes::Union, other)
|
|
52
50
|
end
|
|
53
51
|
alias | union
|
|
54
|
-
alias + union
|
|
55
52
|
|
|
56
53
|
def union_all(other)
|
|
57
54
|
binary_operation(Arel::Nodes::UnionAll, other)
|
|
58
55
|
end
|
|
56
|
+
alias + union_all
|
|
59
57
|
|
|
60
58
|
def intersect(other)
|
|
61
59
|
binary_operation(Arel::Nodes::Intersect, other)
|
data/activerecord-setops.gemspec
CHANGED
|
@@ -36,12 +36,7 @@ Gem::Specification.new do |spec|
|
|
|
36
36
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
37
37
|
spec.require_paths = ["lib"]
|
|
38
38
|
|
|
39
|
-
spec.add_development_dependency "bundler", "~> 1
|
|
39
|
+
spec.add_development_dependency "bundler", "~> 2.1"
|
|
40
40
|
spec.add_development_dependency "rake", "~> 13.0"
|
|
41
41
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
42
|
-
spec.add_development_dependency "gen-test", "~> 0.1.1"
|
|
43
|
-
spec.add_development_dependency "contracts-gen", "~> 0.1.1"
|
|
44
|
-
spec.add_development_dependency "activerecord", [">= 5.2.4.3", "< 6"]
|
|
45
|
-
spec.add_development_dependency "activesupport", [">= 5.2.4.3", "< 6"]
|
|
46
|
-
spec.add_development_dependency "sqlite3", "~> 1.4.2"
|
|
47
42
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: activerecord-setops
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Delon Newman
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-01-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1
|
|
19
|
+
version: '2.1'
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '1
|
|
26
|
+
version: '2.1'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -52,88 +52,6 @@ dependencies:
|
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '3.0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: gen-test
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - "~>"
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.1.1
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - "~>"
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: 0.1.1
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: contracts-gen
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - "~>"
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: 0.1.1
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - "~>"
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: 0.1.1
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: activerecord
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - ">="
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: 5.2.4.3
|
|
90
|
-
- - "<"
|
|
91
|
-
- !ruby/object:Gem::Version
|
|
92
|
-
version: '6'
|
|
93
|
-
type: :development
|
|
94
|
-
prerelease: false
|
|
95
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
96
|
-
requirements:
|
|
97
|
-
- - ">="
|
|
98
|
-
- !ruby/object:Gem::Version
|
|
99
|
-
version: 5.2.4.3
|
|
100
|
-
- - "<"
|
|
101
|
-
- !ruby/object:Gem::Version
|
|
102
|
-
version: '6'
|
|
103
|
-
- !ruby/object:Gem::Dependency
|
|
104
|
-
name: activesupport
|
|
105
|
-
requirement: !ruby/object:Gem::Requirement
|
|
106
|
-
requirements:
|
|
107
|
-
- - ">="
|
|
108
|
-
- !ruby/object:Gem::Version
|
|
109
|
-
version: 5.2.4.3
|
|
110
|
-
- - "<"
|
|
111
|
-
- !ruby/object:Gem::Version
|
|
112
|
-
version: '6'
|
|
113
|
-
type: :development
|
|
114
|
-
prerelease: false
|
|
115
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
116
|
-
requirements:
|
|
117
|
-
- - ">="
|
|
118
|
-
- !ruby/object:Gem::Version
|
|
119
|
-
version: 5.2.4.3
|
|
120
|
-
- - "<"
|
|
121
|
-
- !ruby/object:Gem::Version
|
|
122
|
-
version: '6'
|
|
123
|
-
- !ruby/object:Gem::Dependency
|
|
124
|
-
name: sqlite3
|
|
125
|
-
requirement: !ruby/object:Gem::Requirement
|
|
126
|
-
requirements:
|
|
127
|
-
- - "~>"
|
|
128
|
-
- !ruby/object:Gem::Version
|
|
129
|
-
version: 1.4.2
|
|
130
|
-
type: :development
|
|
131
|
-
prerelease: false
|
|
132
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
133
|
-
requirements:
|
|
134
|
-
- - "~>"
|
|
135
|
-
- !ruby/object:Gem::Version
|
|
136
|
-
version: 1.4.2
|
|
137
55
|
description: Union, Intersection, and Difference operations for ActiveRecord
|
|
138
56
|
email:
|
|
139
57
|
- contact@delonnewman.name
|
|
@@ -178,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
178
96
|
- !ruby/object:Gem::Version
|
|
179
97
|
version: '0'
|
|
180
98
|
requirements: []
|
|
181
|
-
rubygems_version: 3.
|
|
99
|
+
rubygems_version: 3.2.3
|
|
182
100
|
signing_key:
|
|
183
101
|
specification_version: 4
|
|
184
102
|
summary: Set operations for ActiveRecord
|