active_record-union_relation 0.1.1 → 0.2.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: 7bc17659336cfc5c3f2420d5e91dda2abaf245bce0dcd2f0538ddf706f22c3be
4
- data.tar.gz: 9e9d3407293eafa3bdb81e5f4630751a17bb31c4c151985ad4b268b4a0da3092
3
+ metadata.gz: '0920889c3d3a7bd7ef4cd4e24fde9325418a7d2b108495265af571a3ff3cec88'
4
+ data.tar.gz: f056308e383a312cb440eab986a28d95788ae88ce14ffa1b5cac9799c4fd44b9
5
5
  SHA512:
6
- metadata.gz: 82eae8d80a46a0d3ad4c59292a5fe945ca14d5fe8779740883fe65f5165a92413f17b10aee87e6031284bf7929243d074dddd58103d2a37d81c03eab5f072180
7
- data.tar.gz: 0ce40b1c7776054681389ac31bd3ab05121ac926c60c7dbcaa13401e8e9bed2e24f045661aedd52fb1288c834e0719089d7cfb5a3970bf085cbca6633d0c3541
6
+ metadata.gz: 4709e79f723b4cf9279f708eaf0a6860ba4b39d3411678ebf1ea7c34923c685af1ae8359004afcdf08178d90f629f355cb5aa98c7b0d1bdabcb5710ba8b28576
7
+ data.tar.gz: 106be365eb3f8d6e528d1617e9a95ede261a15c1603e2d147fd4452538190ce47a11d8f556135251591567fc864975b4f54c8bf9a8ca0d449d51d45dcd04552a
@@ -4,3 +4,19 @@ updates:
4
4
  directory: "/"
5
5
  schedule:
6
6
  interval: "daily"
7
+ - package-ecosystem: "bundler"
8
+ directory: "/gemfiles/mysql"
9
+ schedule:
10
+ interval: "daily"
11
+ - package-ecosystem: "bundler"
12
+ directory: "/gemfiles/postgresql"
13
+ schedule:
14
+ interval: "daily"
15
+ - package-ecosystem: "bundler"
16
+ directory: "/gemfiles/sqlite"
17
+ schedule:
18
+ interval: "daily"
19
+ - package-ecosystem: "github-actions"
20
+ directory: "/"
21
+ schedule:
22
+ interval: "daily"
@@ -0,0 +1,22 @@
1
+ name: Dependabot auto-merge
2
+ on: pull_request
3
+
4
+ permissions:
5
+ contents: write
6
+ pull-requests: write
7
+
8
+ jobs:
9
+ dependabot:
10
+ runs-on: ubuntu-latest
11
+ if: ${{ github.actor == 'dependabot[bot]' }}
12
+ steps:
13
+ - name: Dependabot metadata
14
+ id: metadata
15
+ uses: dependabot/fetch-metadata@v1.6.0
16
+ with:
17
+ github-token: "${{ secrets.GITHUB_TOKEN }}"
18
+ - name: Enable auto-merge for Dependabot PRs
19
+ run: gh pr merge --auto --merge "$PR_URL"
20
+ env:
21
+ PR_URL: ${{github.event.pull_request.html_url}}
22
+ GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
@@ -1,13 +1,60 @@
1
1
  name: Main
2
+
2
3
  on:
3
4
  - push
4
- - pull_request_target
5
+ - pull_request
6
+
5
7
  jobs:
6
- ci:
7
- name: CI
8
+ lint:
9
+ name: Lint
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - run: sudo apt-get -yqq install libpq-dev libsqlite3-dev
13
+ - uses: actions/checkout@master
14
+ - uses: ruby/setup-ruby@v1
15
+ with:
16
+ ruby-version: '3.3'
17
+ bundler-cache: true
18
+ - name: Lint
19
+ run: bundle exec rake stree:check
20
+ mysql:
21
+ name: MySQL
22
+ runs-on: ubuntu-latest
23
+ env:
24
+ BUNDLE_GEMFILE: gemfiles/mysql/Gemfile
25
+ DATABASE_URL: mysql2://root:password@127.0.0.1:3306/test
26
+ RAILS_ENV: test
27
+ services:
28
+ mysql:
29
+ image: mysql:5.7
30
+ env:
31
+ MYSQL_DATABASE: test
32
+ MYSQL_USERNAME: root
33
+ MYSQL_PASSWORD: password
34
+ MYSQL_ROOT_PASSWORD: password
35
+ MYSQL_HOST: 127.0.0.1
36
+ MYSQL_PORT: 3306
37
+ MYSQL_ALLOW_EMPTY_PASSWORD: yes
38
+ ports:
39
+ - 3306:3306
40
+ options: >-
41
+ --health-cmd="mysqladmin ping"
42
+ --health-interval=10s
43
+ --health-timeout=5s
44
+ --health-retries=3
45
+ steps:
46
+ - uses: actions/checkout@master
47
+ - uses: ruby/setup-ruby@v1
48
+ with:
49
+ ruby-version: '3.3'
50
+ bundler-cache: true
51
+ - name: Test
52
+ run: bundle exec rake test
53
+ postgresql:
54
+ name: PostgreSQL
8
55
  runs-on: ubuntu-latest
9
56
  env:
10
- CI: true
57
+ BUNDLE_GEMFILE: gemfiles/postgresql/Gemfile
11
58
  DATABASE_URL: postgres://postgres:@localhost:5432/postgres
12
59
  RAILS_ENV: test
13
60
  services:
@@ -25,22 +72,23 @@ jobs:
25
72
  - uses: actions/checkout@master
26
73
  - uses: ruby/setup-ruby@v1
27
74
  with:
28
- ruby-version: 3.0
75
+ ruby-version: '3.3'
29
76
  bundler-cache: true
30
77
  - name: Test
31
- run: |
32
- bundle exec rake test
33
- automerge:
34
- name: AutoMerge
35
- needs: ci
78
+ run: bundle exec rake test
79
+ sqlite:
80
+ name: SQLite
36
81
  runs-on: ubuntu-latest
37
- if: github.event_name == 'pull_request_target' && (github.actor == github.repository_owner || github.actor == 'dependabot[bot]')
82
+ env:
83
+ BUNDLE_GEMFILE: gemfiles/sqlite/Gemfile
84
+ DATABASE_URL: "sqlite3::memory:"
85
+ RAILS_ENV: test
38
86
  steps:
39
- - uses: actions/github-script@v3
87
+ - run: sudo apt-get -yqq install libsqlite3-dev
88
+ - uses: actions/checkout@master
89
+ - uses: ruby/setup-ruby@v1
40
90
  with:
41
- script: |
42
- github.pulls.merge({
43
- owner: context.payload.repository.owner.login,
44
- repo: context.payload.repository.name,
45
- pull_number: context.payload.pull_request.number
46
- })
91
+ ruby-version: '3.3'
92
+ bundler-cache: true
93
+ - name: Test
94
+ run: bundle exec rake test
data/CHANGELOG.md CHANGED
@@ -6,6 +6,13 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.2.0] - 2024-02-09
10
+
11
+ ### Added
12
+
13
+ - Support for sqlite.
14
+ - Support for scoped column names.
15
+
9
16
  ## [0.1.1] - 2021-11-17
10
17
 
11
18
  ### Changed
@@ -18,6 +25,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
18
25
 
19
26
  - 🎉 Initial release. 🎉
20
27
 
21
- [unreleased]: https://github.com/kddnewton/active_record-union_relation/compare/v0.1.1...HEAD
28
+ [unreleased]: https://github.com/kddnewton/active_record-union_relation/compare/v0.2.0...HEAD
29
+ [0.2.0]: https://github.com/kddnewton/active_record-union_relation/compare/v0.1.1...v0.2.0
22
30
  [0.1.1]: https://github.com/kddnewton/active_record-union_relation/compare/v0.1.0...v0.1.1
23
31
  [0.1.0]: https://github.com/kddnewton/active_record-union_relation/compare/a71bb8...v0.1.0
data/Gemfile CHANGED
@@ -1,5 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source 'https://rubygems.org'
3
+ source "https://rubygems.org"
4
4
 
5
5
  gemspec
6
+
7
+ gem "mysql2"
8
+ gem "pg"
9
+ gem "sqlite3"
data/Gemfile.lock CHANGED
@@ -1,149 +1,207 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_record-union_relation (0.1.1)
4
+ active_record-union_relation (0.2.0)
5
5
  activerecord (>= 6)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- actioncable (6.1.4.1)
11
- actionpack (= 6.1.4.1)
12
- activesupport (= 6.1.4.1)
10
+ actioncable (7.1.3)
11
+ actionpack (= 7.1.3)
12
+ activesupport (= 7.1.3)
13
13
  nio4r (~> 2.0)
14
14
  websocket-driver (>= 0.6.1)
15
- actionmailbox (6.1.4.1)
16
- actionpack (= 6.1.4.1)
17
- activejob (= 6.1.4.1)
18
- activerecord (= 6.1.4.1)
19
- activestorage (= 6.1.4.1)
20
- activesupport (= 6.1.4.1)
15
+ zeitwerk (~> 2.6)
16
+ actionmailbox (7.1.3)
17
+ actionpack (= 7.1.3)
18
+ activejob (= 7.1.3)
19
+ activerecord (= 7.1.3)
20
+ activestorage (= 7.1.3)
21
+ activesupport (= 7.1.3)
21
22
  mail (>= 2.7.1)
22
- actionmailer (6.1.4.1)
23
- actionpack (= 6.1.4.1)
24
- actionview (= 6.1.4.1)
25
- activejob (= 6.1.4.1)
26
- activesupport (= 6.1.4.1)
23
+ net-imap
24
+ net-pop
25
+ net-smtp
26
+ actionmailer (7.1.3)
27
+ actionpack (= 7.1.3)
28
+ actionview (= 7.1.3)
29
+ activejob (= 7.1.3)
30
+ activesupport (= 7.1.3)
27
31
  mail (~> 2.5, >= 2.5.4)
28
- rails-dom-testing (~> 2.0)
29
- actionpack (6.1.4.1)
30
- actionview (= 6.1.4.1)
31
- activesupport (= 6.1.4.1)
32
- rack (~> 2.0, >= 2.0.9)
32
+ net-imap
33
+ net-pop
34
+ net-smtp
35
+ rails-dom-testing (~> 2.2)
36
+ actionpack (7.1.3)
37
+ actionview (= 7.1.3)
38
+ activesupport (= 7.1.3)
39
+ nokogiri (>= 1.8.5)
40
+ racc
41
+ rack (>= 2.2.4)
42
+ rack-session (>= 1.0.1)
33
43
  rack-test (>= 0.6.3)
34
- rails-dom-testing (~> 2.0)
35
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
36
- actiontext (6.1.4.1)
37
- actionpack (= 6.1.4.1)
38
- activerecord (= 6.1.4.1)
39
- activestorage (= 6.1.4.1)
40
- activesupport (= 6.1.4.1)
44
+ rails-dom-testing (~> 2.2)
45
+ rails-html-sanitizer (~> 1.6)
46
+ actiontext (7.1.3)
47
+ actionpack (= 7.1.3)
48
+ activerecord (= 7.1.3)
49
+ activestorage (= 7.1.3)
50
+ activesupport (= 7.1.3)
51
+ globalid (>= 0.6.0)
41
52
  nokogiri (>= 1.8.5)
42
- actionview (6.1.4.1)
43
- activesupport (= 6.1.4.1)
53
+ actionview (7.1.3)
54
+ activesupport (= 7.1.3)
44
55
  builder (~> 3.1)
45
- erubi (~> 1.4)
46
- rails-dom-testing (~> 2.0)
47
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
48
- activejob (6.1.4.1)
49
- activesupport (= 6.1.4.1)
56
+ erubi (~> 1.11)
57
+ rails-dom-testing (~> 2.2)
58
+ rails-html-sanitizer (~> 1.6)
59
+ activejob (7.1.3)
60
+ activesupport (= 7.1.3)
50
61
  globalid (>= 0.3.6)
51
- activemodel (6.1.4.1)
52
- activesupport (= 6.1.4.1)
53
- activerecord (6.1.4.1)
54
- activemodel (= 6.1.4.1)
55
- activesupport (= 6.1.4.1)
56
- activestorage (6.1.4.1)
57
- actionpack (= 6.1.4.1)
58
- activejob (= 6.1.4.1)
59
- activerecord (= 6.1.4.1)
60
- activesupport (= 6.1.4.1)
61
- marcel (~> 1.0.0)
62
- mini_mime (>= 1.1.0)
63
- activesupport (6.1.4.1)
62
+ activemodel (7.1.3)
63
+ activesupport (= 7.1.3)
64
+ activerecord (7.1.3)
65
+ activemodel (= 7.1.3)
66
+ activesupport (= 7.1.3)
67
+ timeout (>= 0.4.0)
68
+ activestorage (7.1.3)
69
+ actionpack (= 7.1.3)
70
+ activejob (= 7.1.3)
71
+ activerecord (= 7.1.3)
72
+ activesupport (= 7.1.3)
73
+ marcel (~> 1.0)
74
+ activesupport (7.1.3)
75
+ base64
76
+ bigdecimal
64
77
  concurrent-ruby (~> 1.0, >= 1.0.2)
78
+ connection_pool (>= 2.2.5)
79
+ drb
65
80
  i18n (>= 1.6, < 2)
66
81
  minitest (>= 5.1)
82
+ mutex_m
67
83
  tzinfo (~> 2.0)
68
- zeitwerk (~> 2.3)
84
+ base64 (0.2.0)
85
+ bigdecimal (3.1.6)
69
86
  builder (3.2.4)
70
- concurrent-ruby (1.1.9)
87
+ concurrent-ruby (1.2.3)
88
+ connection_pool (2.4.1)
71
89
  crass (1.0.6)
72
- erubi (1.10.0)
73
- globalid (0.5.2)
74
- activesupport (>= 5.0)
75
- i18n (1.8.10)
90
+ date (3.3.4)
91
+ drb (2.2.0)
92
+ ruby2_keywords
93
+ erubi (1.12.0)
94
+ globalid (1.2.1)
95
+ activesupport (>= 6.1)
96
+ i18n (1.14.1)
76
97
  concurrent-ruby (~> 1.0)
77
- loofah (2.12.0)
98
+ io-console (0.7.2)
99
+ irb (1.11.2)
100
+ rdoc
101
+ reline (>= 0.4.2)
102
+ loofah (2.22.0)
78
103
  crass (~> 1.0.2)
79
- nokogiri (>= 1.5.9)
80
- mail (2.7.1)
104
+ nokogiri (>= 1.12.0)
105
+ mail (2.8.1)
81
106
  mini_mime (>= 0.1.1)
82
- marcel (1.0.1)
83
- method_source (1.0.0)
84
- mini_mime (1.1.0)
85
- mini_portile2 (2.6.1)
86
- minitest (5.14.4)
87
- nio4r (2.5.8)
88
- nokogiri (1.12.3)
89
- mini_portile2 (~> 2.6.1)
107
+ net-imap
108
+ net-pop
109
+ net-smtp
110
+ marcel (1.0.2)
111
+ mini_mime (1.1.5)
112
+ minitest (5.22.2)
113
+ mutex_m (0.2.0)
114
+ mysql2 (0.5.6)
115
+ net-imap (0.4.10)
116
+ date
117
+ net-protocol
118
+ net-pop (0.1.2)
119
+ net-protocol
120
+ net-protocol (0.2.2)
121
+ timeout
122
+ net-smtp (0.4.0.1)
123
+ net-protocol
124
+ nio4r (2.7.0)
125
+ nokogiri (1.16.2-arm64-darwin)
126
+ racc (~> 1.4)
127
+ nokogiri (1.16.2-x86_64-linux)
90
128
  racc (~> 1.4)
91
- pg (1.2.3)
92
- racc (1.5.2)
93
- rack (2.2.3)
94
- rack-test (1.1.0)
95
- rack (>= 1.0, < 3)
96
- rails (6.1.4.1)
97
- actioncable (= 6.1.4.1)
98
- actionmailbox (= 6.1.4.1)
99
- actionmailer (= 6.1.4.1)
100
- actionpack (= 6.1.4.1)
101
- actiontext (= 6.1.4.1)
102
- actionview (= 6.1.4.1)
103
- activejob (= 6.1.4.1)
104
- activemodel (= 6.1.4.1)
105
- activerecord (= 6.1.4.1)
106
- activestorage (= 6.1.4.1)
107
- activesupport (= 6.1.4.1)
129
+ pg (1.5.4)
130
+ prettier_print (1.2.1)
131
+ psych (5.1.2)
132
+ stringio
133
+ racc (1.7.3)
134
+ rack (3.0.9)
135
+ rack-session (2.0.0)
136
+ rack (>= 3.0.0)
137
+ rack-test (2.1.0)
138
+ rack (>= 1.3)
139
+ rackup (2.1.0)
140
+ rack (>= 3)
141
+ webrick (~> 1.8)
142
+ rails (7.1.3)
143
+ actioncable (= 7.1.3)
144
+ actionmailbox (= 7.1.3)
145
+ actionmailer (= 7.1.3)
146
+ actionpack (= 7.1.3)
147
+ actiontext (= 7.1.3)
148
+ actionview (= 7.1.3)
149
+ activejob (= 7.1.3)
150
+ activemodel (= 7.1.3)
151
+ activerecord (= 7.1.3)
152
+ activestorage (= 7.1.3)
153
+ activesupport (= 7.1.3)
108
154
  bundler (>= 1.15.0)
109
- railties (= 6.1.4.1)
110
- sprockets-rails (>= 2.0.0)
111
- rails-dom-testing (2.0.3)
112
- activesupport (>= 4.2.0)
155
+ railties (= 7.1.3)
156
+ rails-dom-testing (2.2.0)
157
+ activesupport (>= 5.0.0)
158
+ minitest
113
159
  nokogiri (>= 1.6)
114
- rails-html-sanitizer (1.4.1)
115
- loofah (~> 2.3)
116
- railties (6.1.4.1)
117
- actionpack (= 6.1.4.1)
118
- activesupport (= 6.1.4.1)
119
- method_source
120
- rake (>= 0.13)
121
- thor (~> 1.0)
122
- rake (13.0.6)
123
- sprockets (4.0.2)
124
- concurrent-ruby (~> 1.0)
125
- rack (> 1, < 3)
126
- sprockets-rails (3.2.2)
127
- actionpack (>= 4.0)
128
- activesupport (>= 4.0)
129
- sprockets (>= 3.0.0)
130
- thor (1.1.0)
131
- tzinfo (2.0.4)
160
+ rails-html-sanitizer (1.6.0)
161
+ loofah (~> 2.21)
162
+ nokogiri (~> 1.14)
163
+ railties (7.1.3)
164
+ actionpack (= 7.1.3)
165
+ activesupport (= 7.1.3)
166
+ irb
167
+ rackup (>= 1.0.0)
168
+ rake (>= 12.2)
169
+ thor (~> 1.0, >= 1.2.2)
170
+ zeitwerk (~> 2.6)
171
+ rake (13.1.0)
172
+ rdoc (6.6.2)
173
+ psych (>= 4.0.0)
174
+ reline (0.4.2)
175
+ io-console (~> 0.5)
176
+ ruby2_keywords (0.0.5)
177
+ sqlite3 (1.7.2-arm64-darwin)
178
+ sqlite3 (1.7.2-x86_64-linux)
179
+ stringio (3.1.0)
180
+ syntax_tree (6.2.0)
181
+ prettier_print (>= 1.2.0)
182
+ thor (1.3.0)
183
+ timeout (0.4.1)
184
+ tzinfo (2.0.6)
132
185
  concurrent-ruby (~> 1.0)
133
- websocket-driver (0.7.5)
186
+ webrick (1.8.1)
187
+ websocket-driver (0.7.6)
134
188
  websocket-extensions (>= 0.1.0)
135
189
  websocket-extensions (0.1.5)
136
- zeitwerk (2.4.2)
190
+ zeitwerk (2.6.13)
137
191
 
138
192
  PLATFORMS
139
- ruby
193
+ arm64-darwin-22
194
+ x86_64-linux
140
195
 
141
196
  DEPENDENCIES
142
197
  active_record-union_relation!
143
- minitest (~> 5.14)
144
- pg (~> 1.2)
145
- rails (~> 6.1)
146
- rake (~> 13.0)
198
+ minitest
199
+ mysql2
200
+ pg
201
+ rails
202
+ rake
203
+ sqlite3
204
+ syntax_tree
147
205
 
148
206
  BUNDLED WITH
149
- 2.2.3
207
+ 2.4.1
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # ActiveRecord::UnionRelation
2
2
 
3
3
  [![Build Status](https://github.com/kddnewton/active_record-union_relation/workflows/Main/badge.svg)](https://github.com/kddnewton/active_record-union_relation/actions)
4
+ [![Gem Version](https://img.shields.io/gem/v/active_record-union_relation.svg)](https://rubygems.org/gems/active_record-union_relation)
4
5
 
5
6
  There are times when you want to use SQL's [UNION](https://www.w3schools.com/sql/sql_union.asp) operator to pull rows from multiple relations, but you still want to maintain the query-builder interface of ActiveRecord. This gem allows you to do that with minimal syntax.
6
7
 
@@ -9,7 +10,7 @@ There are times when you want to use SQL's [UNION](https://www.w3schools.com/sql
9
10
  Add this line to your application's Gemfile:
10
11
 
11
12
  ```ruby
12
- gem 'active_record-union_relation'
13
+ gem "active_record-union_relation"
13
14
  ```
14
15
 
15
16
  And then execute:
@@ -46,7 +47,7 @@ Now, let's pull all of the records matching a specific term. For `Post`, we'll p
46
47
  ```ruby
47
48
  # Let's get a local variable that we'll use to reference within each of our
48
49
  # subqueries. Presumably this would come from some kind of user input.
49
- term = 'foo'
50
+ term = "foo"
50
51
 
51
52
  # First, we call ActiveRecord::union. The arguments are the names of the columns
52
53
  # that will be aliased from each source relation. It also accepts a block that
@@ -58,7 +59,7 @@ relation =
58
59
  # just for this one table. That can include any kind of
59
60
  # joins/conditions/orders etc. that it needs to. In this case we'll need
60
61
  # published: true and a matching query.
61
- posts = Post.where(published: true).where('title LIKE ?', "%#{term}%")
62
+ posts = Post.where(published: true).where("title LIKE ?", "%#{term}%")
62
63
 
63
64
  # Next, we'll add that posts relation as a subquery into the union. The
64
65
  # number of arguments here must directly align with the number of arguments
@@ -73,12 +74,12 @@ relation =
73
74
  # explicitly pulling post_id, we'll actually be able to call .post on the
74
75
  # comment records that get pulled since we alias them back when we
75
76
  # instantiate the objects.
76
- comments = Comment.where('body LIKE ?', "%#{term}%")
77
+ comments = Comment.where("body LIKE ?", "%#{term}%")
77
78
  union.add comments, :id, :post_id, :body
78
79
 
79
80
  # Finally, we'll pull the tag records that we want and add them into the
80
81
  # overall union as well.
81
- tags = Tag.where('name LIKE ?', "%#{term}%")
82
+ tags = Tag.where("name LIKE ?", "%#{term}%")
82
83
  union.add tags, :id, nil, :name
83
84
  end
84
85
 
@@ -114,15 +115,6 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
114
115
 
115
116
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
116
117
 
117
- To check types using `rbs`, you can run:
118
-
119
- ```sh
120
- RBS_TEST_TARGET='ActiveRecord::UnionRelation::*' \
121
- ruby -rrbs/test/setup \
122
- -Itest -Isig/active_record/union_relation.rbs \
123
- test/active_record/union_relation_test.rb
124
- ```
125
-
126
118
  ## Contributing
127
119
 
128
120
  Bug reports and pull requests are welcome on GitHub at https://github.com/kddnewton/active_record-union_relation.
data/Rakefile CHANGED
@@ -1,12 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'bundler/gem_tasks'
4
- require 'rake/testtask'
3
+ require "bundler/gem_tasks"
4
+ require "rake/testtask"
5
+ require "syntax_tree/rake_tasks"
5
6
 
6
7
  Rake::TestTask.new(:test) do |t|
7
- t.libs << 'test'
8
- t.libs << 'lib'
9
- t.test_files = FileList['test/**/*_test.rb']
8
+ t.libs << "test"
9
+ t.libs << "lib"
10
+ t.test_files = FileList["test/**/*_test.rb"]
10
11
  end
11
12
 
12
13
  task default: :test
14
+
15
+ configure = ->(task) do
16
+ task.source_files =
17
+ FileList[%w[Gemfile Rakefile *.gemspec lib/**/*.rb test/**/*.rb]]
18
+ end
19
+
20
+ SyntaxTree::Rake::CheckTask.new(&configure)
21
+ SyntaxTree::Rake::WriteTask.new(&configure)