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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 19f77a7a5a20214036dc0394e28556788dcbbf95a9c78f8b502fe52fb551ec66
4
- data.tar.gz: 9393dd62ceb050cd2605b9b112b7d3cd442e677398fb3ca1d13e7ec8cb836fca
3
+ metadata.gz: 70c39529d33485dd3cbcd0820870cdd8d73e2db9d70acab7ca84d4e50f3e539b
4
+ data.tar.gz: ffacade3e925a20c850be2c25be1a36e2a31d0aebcf81ac7ae9f40b61627f23a
5
5
  SHA512:
6
- metadata.gz: 6f52b0afedfca8afa3fe948c831fb0ab6db2e31d37618268ee0246e8248f903fa8e83f70ccc7d785603011d0a7bc836a55fa6badbd7aa29d6eb24834f3647f02
7
- data.tar.gz: 8a8e060c36ab59c0f5b50dabe04d7071a8251fb0835ddecb8aa9682211767c5698000ccd76397f98525fa81217afbcabaa0edc7cad08645bc4a646407ccec420
6
+ metadata.gz: 1ac1cb5ca6ba34b0851221d54750af0670d995c972ac251e4372aeed4c5789473afbf1fae4561e157bb6192e13eeec915162bd7a3b98b33b727f28531393025e
7
+ data.tar.gz: 52bffa93df07b8cf7b47d3cec8ca881f8da646955ccf85e8f7b472e03609859895e15137d44868c1c1dd1c5d41699235f195e6a082bb7bfd1e96c0354c67266b
@@ -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: [push]
10
+ on:
11
+ push:
12
+ branches: [ master ]
13
+ pull_request:
14
+ branches: [ master ]
4
15
 
5
16
  jobs:
6
- build:
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 2.6
13
- uses: actions/setup-ruby@v1
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: 2.6.x
16
- - name: Build and test with Rake
17
- run: |
18
- sudo apt-get install libsqlite3-dev
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
@@ -1,9 +1,14 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.5
3
+ ## 0.1.7
4
4
 
5
- - Added `lib/activerecord-setops.rb`
5
+ - alias `union_all` as `+`
6
6
 
7
7
  ## 0.1.6
8
8
 
9
9
  - Removed `except` can still be called as `difference` or `-`.
10
+
11
+
12
+ ## 0.1.5
13
+
14
+ - Added `lib/activerecord-setops.rb`
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'
@@ -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.1.7)
21
+ activerecord-setops (1.0.0)
5
22
 
6
23
  GEM
7
24
  remote: https://rubygems.org/
8
25
  specs:
9
- activemodel (5.2.4.3)
10
- activesupport (= 5.2.4.3)
11
- activerecord (5.2.4.3)
12
- activemodel (= 5.2.4.3)
13
- activesupport (= 5.2.4.3)
14
- arel (>= 9.0)
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 (>= 0.7, < 2)
18
- minitest (~> 5.1)
19
- tzinfo (~> 1.1)
20
- arel (9.0.0)
21
- concurrent-ruby (1.1.6)
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
- contracts-gen (0.1.1)
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
- gen-test (0.1.1)
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.1)
36
- rake (13.0.1)
44
+ minitest (5.14.3)
45
+ rake (13.0.3)
37
46
  regexp-examples (1.5.1)
38
- rspec (3.9.0)
39
- rspec-core (~> 3.9.0)
40
- rspec-expectations (~> 3.9.0)
41
- rspec-mocks (~> 3.9.0)
42
- rspec-core (3.9.1)
43
- rspec-support (~> 3.9.1)
44
- rspec-expectations (3.9.0)
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.9.0)
47
- rspec-mocks (3.9.1)
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.9.0)
50
- rspec-support (3.9.2)
58
+ rspec-support (~> 3.10.0)
59
+ rspec-support (3.10.1)
51
60
  sqlite3 (1.4.2)
52
- thread_safe (0.3.6)
53
- tzinfo (1.2.7)
54
- thread_safe (~> 0.1)
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.4.3, < 6)
69
+ activerecord (>= 5.2)
61
70
  activerecord-setops!
62
- activesupport (>= 5.2.4.3, < 6)
63
- bundler (~> 1.17)
64
- contracts-gen (~> 0.1.1)
65
- gen-test (~> 0.1.1)
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
- 1.17.3
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)
@@ -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.17"
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
@@ -1,5 +1,5 @@
1
1
  module ActiveRecord
2
2
  module Setops
3
- VERSION = "0.1.7"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  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.1.7
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: 2020-11-10 00:00:00.000000000 Z
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.17'
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.17'
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.0.6
99
+ rubygems_version: 3.2.3
182
100
  signing_key:
183
101
  specification_version: 4
184
102
  summary: Set operations for ActiveRecord