activerecord-cte 0.1.3 → 0.1.4
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/rubocop.yml +12 -0
- data/.github/workflows/test-with-mysql.yml +25 -0
- data/.github/workflows/test-with-postgresql.yml +34 -0
- data/.github/workflows/test-with-sqlite.yml +22 -0
- data/.rubocop.yml +23 -2
- data/.ruby-version +1 -0
- data/Dockerfile +2 -1
- data/Gemfile +1 -1
- data/README.md +25 -4
- data/Rakefile +3 -0
- data/activerecord-cte.gemspec +6 -2
- data/bin/test +42 -16
- data/docker-compose.yml +5 -5
- data/lib/activerecord/cte/core_ext.rb +2 -6
- data/lib/activerecord/cte/version.rb +1 -1
- metadata +43 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c5fd306f910ad7183f278dfbbf91363e7825a823f31fbb798693a8a529db23c
|
4
|
+
data.tar.gz: aa0dcc304d3469394b2e0eb6496ddfac22632df5febc0d43f71302fbbdbfe3d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c13b4cb8fe44d0380856fbac382f27f9881d03dcb6d9c6fb21d0cb1c5d2704d09d0e51432b165816f939d1ce46957d877ffc84bdeda837d20604d78065ccfa4b
|
7
|
+
data.tar.gz: a64ff3e533e71d04437f706197266782fd5ab3ec8fe4df047814cd2ffda5dc9bea24040bb93ddfb4b794c068e57df4d5f710d8b941a7cbe8384c57cc039c2db8
|
@@ -0,0 +1,25 @@
|
|
1
|
+
name: MySql
|
2
|
+
on: [push]
|
3
|
+
jobs:
|
4
|
+
Test-With-Mysql:
|
5
|
+
runs-on: ubuntu-latest
|
6
|
+
strategy:
|
7
|
+
fail-fast: false
|
8
|
+
matrix:
|
9
|
+
active_record: [6.0.4, 5.2.6]
|
10
|
+
env:
|
11
|
+
ACTIVE_RECORD_VERSION: ${{ matrix.active_record }}
|
12
|
+
DATABASE_ADAPTER: mysql
|
13
|
+
INSTALL_MYSQL_GEM: true
|
14
|
+
RAILS_ENV: test
|
15
|
+
steps:
|
16
|
+
- name: Check out repository code
|
17
|
+
uses: actions/checkout@v2
|
18
|
+
- name: Start mysql
|
19
|
+
run: sudo service mysql start
|
20
|
+
- name: Set up Ruby
|
21
|
+
uses: ruby/setup-ruby@v1
|
22
|
+
with:
|
23
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
24
|
+
- name: Run tests
|
25
|
+
run: bundle exec rake test
|
@@ -0,0 +1,34 @@
|
|
1
|
+
name: PostgreSQL
|
2
|
+
on: [push]
|
3
|
+
jobs:
|
4
|
+
Test-With-PostgreSQL:
|
5
|
+
runs-on: ubuntu-latest
|
6
|
+
container: ruby:2.7
|
7
|
+
strategy:
|
8
|
+
fail-fast: false
|
9
|
+
matrix:
|
10
|
+
active_record: [6.0.4, 5.2.6]
|
11
|
+
env:
|
12
|
+
ACTIVE_RECORD_VERSION: ${{ matrix.active_record }}
|
13
|
+
DATABASE_ADAPTER: postgresql
|
14
|
+
INSTALL_PG_GEM: true
|
15
|
+
RAILS_ENV: test
|
16
|
+
services:
|
17
|
+
postgres:
|
18
|
+
image: postgres
|
19
|
+
env:
|
20
|
+
POSTGRES_PASSWORD: postgres
|
21
|
+
options: >-
|
22
|
+
--health-cmd pg_isready
|
23
|
+
--health-interval 10s
|
24
|
+
--health-timeout 5s
|
25
|
+
--health-retries 5
|
26
|
+
ports:
|
27
|
+
- 5432:5432
|
28
|
+
steps:
|
29
|
+
- name: Check out repository code
|
30
|
+
uses: actions/checkout@v2
|
31
|
+
- name: Bundle dependencies
|
32
|
+
run: bundle install
|
33
|
+
- name: Run tests
|
34
|
+
run: bundle exec rake test
|
@@ -0,0 +1,22 @@
|
|
1
|
+
name: SQLite
|
2
|
+
on: [push]
|
3
|
+
jobs:
|
4
|
+
Test-With-SQLite:
|
5
|
+
runs-on: ubuntu-latest
|
6
|
+
strategy:
|
7
|
+
fail-fast: false
|
8
|
+
matrix:
|
9
|
+
active_record: [6.0.4, 5.2.6]
|
10
|
+
env:
|
11
|
+
ACTIVE_RECORD_VERSION: ${{ matrix.active_record }}
|
12
|
+
DATABASE_ADAPTER: sqlite3
|
13
|
+
RAILS_ENV: test
|
14
|
+
steps:
|
15
|
+
- name: Check out repository code
|
16
|
+
uses: actions/checkout@v2
|
17
|
+
- name: Set up Ruby
|
18
|
+
uses: ruby/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
21
|
+
- name: Run tests
|
22
|
+
run: bundle exec rake test
|
data/.rubocop.yml
CHANGED
@@ -1,8 +1,14 @@
|
|
1
1
|
require:
|
2
|
+
- rubocop-minitest
|
2
3
|
- rubocop-performance
|
4
|
+
- rubocop-rake
|
3
5
|
|
4
6
|
AllCops:
|
5
|
-
|
7
|
+
NewCops: enable
|
8
|
+
TargetRubyVersion: 2.7
|
9
|
+
|
10
|
+
Gemspec/RequiredRubyVersion:
|
11
|
+
Enabled: false
|
6
12
|
|
7
13
|
Layout/LineLength:
|
8
14
|
AllowHeredoc: true
|
@@ -10,15 +16,30 @@ Layout/LineLength:
|
|
10
16
|
IgnoreCopDirectives: true
|
11
17
|
Max: 120
|
12
18
|
Exclude:
|
19
|
+
- "activerecord-cte.gemspec"
|
13
20
|
- "test/**/*"
|
14
21
|
|
22
|
+
Layout/MultilineMethodCallIndentation:
|
23
|
+
EnforcedStyle: indented
|
24
|
+
|
15
25
|
Metrics/AbcSize:
|
16
26
|
Exclude:
|
17
|
-
- "test/**/*"
|
27
|
+
- "test/**/*_test.rb"
|
28
|
+
|
29
|
+
Metrics/ClassLength:
|
30
|
+
Exclude:
|
31
|
+
- "test/**/*_test.rb"
|
18
32
|
|
19
33
|
Metrics/CyclomaticComplexity:
|
20
34
|
Max: 7
|
21
35
|
|
36
|
+
Metrics/MethodLength:
|
37
|
+
Exclude:
|
38
|
+
- "test/**/*_test.rb"
|
39
|
+
|
40
|
+
Minitest/MultipleAssertions:
|
41
|
+
Max: 5
|
42
|
+
|
22
43
|
Style/ClassAndModuleChildren:
|
23
44
|
Enabled: false
|
24
45
|
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.7.3
|
data/Dockerfile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
FROM ruby:2.
|
1
|
+
FROM ruby:2.7
|
2
2
|
|
3
3
|
ENV APP_HOME /activerecord_cte
|
4
4
|
RUN mkdir $APP_HOME
|
@@ -7,6 +7,7 @@ WORKDIR $APP_HOME
|
|
7
7
|
ENV RAILS_ENV test
|
8
8
|
ENV INSTALL_MYSQL_GEM true
|
9
9
|
ENV INSTALL_PG_GEM true
|
10
|
+
ENV MYSQL_HOST mysql
|
10
11
|
|
11
12
|
# Cache the bundle install
|
12
13
|
COPY Gemfile* $APP_HOME/
|
data/Gemfile
CHANGED
@@ -5,7 +5,7 @@ source "https://rubygems.org"
|
|
5
5
|
# Specify your gem's dependencies in activerecord-cte.gemspec
|
6
6
|
gemspec
|
7
7
|
|
8
|
-
ACTIVE_RECORD_VERSION = ENV.fetch("ACTIVE_RECORD_VERSION"
|
8
|
+
ACTIVE_RECORD_VERSION = ENV.fetch("ACTIVE_RECORD_VERSION", "6.0.4")
|
9
9
|
|
10
10
|
gem "activerecord", ACTIVE_RECORD_VERSION
|
11
11
|
|
data/README.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# ActiveRecord::Cte
|
2
2
|
|
3
|
+

|
4
|
+

|
5
|
+

|
6
|
+

|
7
|
+
|
3
8
|
Adds Common Table Expression support to ActiveRecord (Rails).
|
4
9
|
|
5
10
|
It adds `.with` query method and makes it super easy to build and chain complex CTE queries. Let's explain it using simple example.
|
@@ -196,11 +201,27 @@ I decided to wait a bit :)
|
|
196
201
|
|
197
202
|
After checking out the repo, run `bin/setup` to install dependencies.
|
198
203
|
|
204
|
+
### Running Rubocop
|
205
|
+
|
206
|
+
```
|
207
|
+
bundle exec rubocop
|
208
|
+
```
|
209
|
+
|
199
210
|
### Running tests
|
200
211
|
|
201
|
-
|
212
|
+
To run the tests using SQLite adapter and latest version on Rails run
|
213
|
+
|
214
|
+
```
|
215
|
+
bundle exec rake test
|
216
|
+
```
|
217
|
+
|
218
|
+
GitHub Actions will run the test matrix with multiple ActiveRecord versions and database adapters. You can also run the matrix locally with
|
219
|
+
|
220
|
+
```
|
221
|
+
bundle exec rake test:matrix
|
222
|
+
```
|
202
223
|
|
203
|
-
|
224
|
+
This will build Docker image with all dependencies and run all tests in it. See `bin/test` for more info.
|
204
225
|
|
205
226
|
### Console
|
206
227
|
|
@@ -212,7 +233,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
212
233
|
|
213
234
|
## Contributing
|
214
235
|
|
215
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
236
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/vlado/activerecord-cte. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
216
237
|
|
217
238
|
## License
|
218
239
|
|
@@ -220,4 +241,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
220
241
|
|
221
242
|
## Code of Conduct
|
222
243
|
|
223
|
-
Everyone interacting in the Activerecord::Cte project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/
|
244
|
+
Everyone interacting in the Activerecord::Cte project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/vlado/activerecord-cte/blob/master/CODE_OF_CONDUCT.md).
|
data/Rakefile
CHANGED
@@ -12,7 +12,10 @@ end
|
|
12
12
|
task default: :test
|
13
13
|
|
14
14
|
namespace :test do
|
15
|
+
desc "Will run the tests in all db adapters - AR version combinations"
|
15
16
|
task :matrix do
|
17
|
+
require "English"
|
16
18
|
system("docker-compose build && docker-compose run lib bin/test")
|
19
|
+
exit($CHILD_STATUS.exitstatus) unless $CHILD_STATUS.success?
|
17
20
|
end
|
18
21
|
end
|
data/activerecord-cte.gemspec
CHANGED
@@ -11,6 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.email = ["vladocingel@gmail.com"]
|
12
12
|
|
13
13
|
spec.summary = "Brings Common Table Expressions support to ActiveRecord and makes it super easy to build and chain complex CTE queries"
|
14
|
+
spec.description = spec.summary
|
14
15
|
spec.homepage = "https://github.com/vlado/activerecord-cte"
|
15
16
|
spec.license = "MIT"
|
16
17
|
|
@@ -19,6 +20,7 @@ Gem::Specification.new do |spec|
|
|
19
20
|
spec.metadata["homepage_uri"] = spec.homepage
|
20
21
|
spec.metadata["source_code_uri"] = "https://github.com/vlado/activerecord-cte"
|
21
22
|
|
23
|
+
spec.required_ruby_version = ">= 1.9.2"
|
22
24
|
# Specify which files should be added to the gem when it is released.
|
23
25
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
24
26
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
@@ -33,7 +35,9 @@ Gem::Specification.new do |spec|
|
|
33
35
|
spec.add_development_dependency "bundler", "~> 2.0"
|
34
36
|
spec.add_development_dependency "minitest", "~> 5.0"
|
35
37
|
spec.add_development_dependency "rake", "~> 13.0.1"
|
36
|
-
spec.add_development_dependency "rubocop", "~>
|
37
|
-
spec.add_development_dependency "rubocop-
|
38
|
+
spec.add_development_dependency "rubocop", "~> 1.17.0"
|
39
|
+
spec.add_development_dependency "rubocop-minitest", "~> 0.13.0"
|
40
|
+
spec.add_development_dependency "rubocop-performance", "~> 1.11.3"
|
41
|
+
spec.add_development_dependency "rubocop-rake", "~> 0.5.1"
|
38
42
|
spec.add_development_dependency "sqlite3"
|
39
43
|
end
|
data/bin/test
CHANGED
@@ -1,26 +1,52 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
+
require "English"
|
5
|
+
|
4
6
|
ADAPTERS = %w[
|
5
7
|
mysql
|
6
8
|
postgresql
|
7
9
|
sqlite3
|
8
|
-
]
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
10
|
+
].freeze
|
11
|
+
|
12
|
+
ACTIVE_RECORD_VERSIONS = %w[
|
13
|
+
6.0.4
|
14
|
+
5.2.6
|
15
|
+
].freeze
|
16
|
+
|
17
|
+
class Matrix
|
18
|
+
def self.run
|
19
|
+
new.run
|
20
|
+
end
|
21
|
+
|
22
|
+
def initialize
|
23
|
+
@exit_status_code = 0
|
24
|
+
end
|
25
|
+
|
26
|
+
def run # rubocop:disable Metrics/MethodLength
|
27
|
+
original_ar_version = `bundle show activerecord`.split("-").last.strip
|
28
|
+
ACTIVE_RECORD_VERSIONS.each do |ar_version|
|
29
|
+
puts "----> Switching ActiveRecord to version #{ar_version}"
|
30
|
+
cmd("ACTIVE_RECORD_VERSION=#{ar_version} bundle update activerecord")
|
31
|
+
|
32
|
+
ADAPTERS.each do |adapter|
|
33
|
+
puts "----> Running tests with ActiveRecord #{ar_version} and #{adapter} adapter"
|
34
|
+
cmd("DATABASE_ADAPTER=#{adapter} ACTIVE_RECORD_VERSION=#{ar_version} bundle exec rake test")
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
puts "----> Reverting back to original ActiveRecord version (#{original_ar_version})"
|
39
|
+
cmd("ACTIVE_RECORD_VERSION=#{original_ar_version} bundle update activerecord")
|
40
|
+
|
41
|
+
exit(@exit_status_code) unless @exit_status_code.zero?
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def cmd(cmd)
|
47
|
+
system(cmd)
|
48
|
+
@exit_status_code = $CHILD_STATUS.exitstatus unless $CHILD_STATUS.success?
|
22
49
|
end
|
23
50
|
end
|
24
51
|
|
25
|
-
|
26
|
-
system("ACTIVE_RECORD_VERSION=#{ORIGINAL_AR_VERSION} bundle update activerecord")
|
52
|
+
Matrix.run
|
data/docker-compose.yml
CHANGED
@@ -15,9 +15,9 @@ services:
|
|
15
15
|
restart: always
|
16
16
|
environment:
|
17
17
|
MYSQL_DATABASE: activerecord_cte_test
|
18
|
-
MYSQL_USER:
|
19
|
-
MYSQL_PASSWORD:
|
20
|
-
MYSQL_ROOT_PASSWORD:
|
18
|
+
MYSQL_USER: root
|
19
|
+
MYSQL_PASSWORD: root
|
20
|
+
MYSQL_ROOT_PASSWORD: root
|
21
21
|
ports:
|
22
22
|
- 3306:3306
|
23
23
|
expose:
|
@@ -28,8 +28,8 @@ services:
|
|
28
28
|
restart: always
|
29
29
|
environment:
|
30
30
|
POSTGRES_DB: activerecord_cte_test
|
31
|
-
POSTGRES_USER:
|
32
|
-
POSTGRES_PASSWORD:
|
31
|
+
POSTGRES_USER: postgres
|
32
|
+
POSTGRES_PASSWORD: postgres
|
33
33
|
ports:
|
34
34
|
- 5432:5432
|
35
35
|
expose:
|
@@ -4,12 +4,8 @@ module ActiveRecord
|
|
4
4
|
module Querying
|
5
5
|
delegate :with, to: :all
|
6
6
|
end
|
7
|
-
|
8
|
-
module WithMerger
|
9
|
-
def normal_values
|
10
|
-
super + %i[with]
|
11
|
-
end
|
12
7
|
|
8
|
+
module WithMerger
|
13
9
|
def merge
|
14
10
|
super
|
15
11
|
merge_withs
|
@@ -56,7 +52,7 @@ module ActiveRecord
|
|
56
52
|
arel
|
57
53
|
end
|
58
54
|
|
59
|
-
def build_with(arel) # rubocop:disable Metrics/MethodLength
|
55
|
+
def build_with(arel) # rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity
|
60
56
|
return if with_values.empty?
|
61
57
|
|
62
58
|
recursive = with_values.delete(:recursive)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-cte
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vlado Cingel
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -72,28 +72,56 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 1.17.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 1.17.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop-minitest
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.13.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.13.0
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: rubocop-performance
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
101
|
- - "~>"
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
103
|
+
version: 1.11.3
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
108
|
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.
|
110
|
+
version: 1.11.3
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop-rake
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.5.1
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.5.1
|
97
125
|
- !ruby/object:Gem::Dependency
|
98
126
|
name: sqlite3
|
99
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,15 +136,21 @@ dependencies:
|
|
108
136
|
- - ">="
|
109
137
|
- !ruby/object:Gem::Version
|
110
138
|
version: '0'
|
111
|
-
description:
|
139
|
+
description: Brings Common Table Expressions support to ActiveRecord and makes it
|
140
|
+
super easy to build and chain complex CTE queries
|
112
141
|
email:
|
113
142
|
- vladocingel@gmail.com
|
114
143
|
executables: []
|
115
144
|
extensions: []
|
116
145
|
extra_rdoc_files: []
|
117
146
|
files:
|
147
|
+
- ".github/workflows/rubocop.yml"
|
148
|
+
- ".github/workflows/test-with-mysql.yml"
|
149
|
+
- ".github/workflows/test-with-postgresql.yml"
|
150
|
+
- ".github/workflows/test-with-sqlite.yml"
|
118
151
|
- ".gitignore"
|
119
152
|
- ".rubocop.yml"
|
153
|
+
- ".ruby-version"
|
120
154
|
- ".travis.yml"
|
121
155
|
- ".vimrc"
|
122
156
|
- CODE_OF_CONDUCT.md
|
@@ -148,14 +182,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
148
182
|
requirements:
|
149
183
|
- - ">="
|
150
184
|
- !ruby/object:Gem::Version
|
151
|
-
version:
|
185
|
+
version: 1.9.2
|
152
186
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
187
|
requirements:
|
154
188
|
- - ">="
|
155
189
|
- !ruby/object:Gem::Version
|
156
190
|
version: '0'
|
157
191
|
requirements: []
|
158
|
-
rubygems_version: 3.
|
192
|
+
rubygems_version: 3.1.6
|
159
193
|
signing_key:
|
160
194
|
specification_version: 4
|
161
195
|
summary: Brings Common Table Expressions support to ActiveRecord and makes it super
|