activerecord-cte 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 +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 +29 -0
- data/.rubocop.yml +23 -2
- data/.ruby-version +1 -0
- data/Dockerfile +2 -1
- data/Gemfile +1 -1
- data/README.md +28 -5
- data/Rakefile +3 -0
- data/activerecord-cte.gemspec +6 -2
- data/bin/test +40 -20
- data/docker-compose.yml +5 -5
- data/lib/activerecord/cte/core_ext.rb +22 -3
- data/lib/activerecord/cte/version.rb +1 -1
- metadata +46 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24b0c6a6425bfa8f8b7137d7f3a96b84aa97c10f4d00b25c5a091890fef2de73
|
4
|
+
data.tar.gz: d6856b61cf2e747807af2baf843a41c3e667832a97183ff3db3867486c8e9d90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c68905f134a9d8c4e52a21aa1ab278b4de60b00fc93d2acd6935f0a65d8699fa76f543e03f6d9885d1fb148bdd48f9d072d9c66a12d7cb988e158068cb678ed
|
7
|
+
data.tar.gz: 0c999b62136a17857046eeb384a9fc8090e9cf70d8e7fa06febdd663169994ce348c657cc414795e5f47fc73fb7325d6903e3f5ed202c124d2d832b8bed45b70
|
@@ -0,0 +1,25 @@
|
|
1
|
+
name: MySql
|
2
|
+
on: [pull_request]
|
3
|
+
jobs:
|
4
|
+
Test-With-Mysql:
|
5
|
+
runs-on: ubuntu-latest
|
6
|
+
strategy:
|
7
|
+
fail-fast: false
|
8
|
+
matrix:
|
9
|
+
active_record: [6.1.4, 6.0.4]
|
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: [pull_request]
|
3
|
+
jobs:
|
4
|
+
Test-With-PostgreSQL:
|
5
|
+
runs-on: ubuntu-latest
|
6
|
+
container: ruby:3.0
|
7
|
+
strategy:
|
8
|
+
fail-fast: false
|
9
|
+
matrix:
|
10
|
+
active_record: [6.1.4, 6.0.4]
|
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,29 @@
|
|
1
|
+
name: SQLite
|
2
|
+
on: [pull_request]
|
3
|
+
jobs:
|
4
|
+
Test-With-SQLite:
|
5
|
+
runs-on: ubuntu-latest
|
6
|
+
strategy:
|
7
|
+
fail-fast: false
|
8
|
+
matrix:
|
9
|
+
active_record: [6.1.4, 6.0.4, 5.2.6]
|
10
|
+
# Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
|
11
|
+
ruby: [2.6, 2.7, '3.0']
|
12
|
+
exclude:
|
13
|
+
- active_record: 5.2.6
|
14
|
+
ruby: '3.0'
|
15
|
+
|
16
|
+
env:
|
17
|
+
ACTIVE_RECORD_VERSION: ${{ matrix.active_record }}
|
18
|
+
DATABASE_ADAPTER: sqlite3
|
19
|
+
RAILS_ENV: test
|
20
|
+
steps:
|
21
|
+
- name: Check out repository code
|
22
|
+
uses: actions/checkout@v2
|
23
|
+
- name: Set up Ruby
|
24
|
+
uses: ruby/setup-ruby@v1
|
25
|
+
with:
|
26
|
+
ruby-version: ${{ matrix.ruby }}
|
27
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
28
|
+
- name: Run tests
|
29
|
+
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
|
+
3.0.2
|
data/Dockerfile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
FROM ruby:
|
1
|
+
FROM ruby:3.0
|
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.1.4")
|
9
9
|
|
10
10
|
gem "activerecord", ACTIVE_RECORD_VERSION
|
11
11
|
|
data/README.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
# ActiveRecord::Cte
|
2
2
|
|
3
|
-
|
3
|
+

|
4
|
+

|
5
|
+

|
6
|
+

|
7
|
+
|
8
|
+
Adds [Common Table Expression](https://en.wikipedia.org/wiki/Hierarchical_and_recursive_queries_in_SQL#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.
|
6
11
|
|
@@ -22,6 +27,8 @@ WITH posts_with_comments AS (
|
|
22
27
|
SELECT * FROM posts
|
23
28
|
```
|
24
29
|
|
30
|
+
**Please note that this creates the expressions but is not using them yet. See [Taking it further](#taking-it-further) for more info.**
|
31
|
+
|
25
32
|
Without this gem you would need to use `Arel` directly.
|
26
33
|
|
27
34
|
```ruby
|
@@ -196,11 +203,27 @@ I decided to wait a bit :)
|
|
196
203
|
|
197
204
|
After checking out the repo, run `bin/setup` to install dependencies.
|
198
205
|
|
206
|
+
### Running Rubocop
|
207
|
+
|
208
|
+
```
|
209
|
+
bundle exec rubocop
|
210
|
+
```
|
211
|
+
|
199
212
|
### Running tests
|
200
213
|
|
201
|
-
|
214
|
+
To run the tests using SQLite adapter and latest version on Rails run
|
215
|
+
|
216
|
+
```
|
217
|
+
bundle exec rake test
|
218
|
+
```
|
219
|
+
|
220
|
+
GitHub Actions will run the test matrix with multiple ActiveRecord versions and database adapters. You can also run the matrix locally with
|
221
|
+
|
222
|
+
```
|
223
|
+
bundle exec rake test:matrix
|
224
|
+
```
|
202
225
|
|
203
|
-
|
226
|
+
This will build Docker image with all dependencies and run all tests in it. See `bin/test` for more info.
|
204
227
|
|
205
228
|
### Console
|
206
229
|
|
@@ -212,7 +235,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
212
235
|
|
213
236
|
## Contributing
|
214
237
|
|
215
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
238
|
+
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
239
|
|
217
240
|
## License
|
218
241
|
|
@@ -220,4 +243,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
220
243
|
|
221
244
|
## Code of Conduct
|
222
245
|
|
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/
|
246
|
+
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,46 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
]
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
4
|
+
require "English"
|
5
|
+
require "yaml"
|
6
|
+
|
7
|
+
active_record_versions = %w[6.1.4 6.0.4]
|
8
|
+
database_adapters = %w[mysql postgresql sqlite3]
|
9
|
+
|
10
|
+
class Matrix
|
11
|
+
def initialize(active_record_versions, database_adapters)
|
12
|
+
@active_record_versions = active_record_versions
|
13
|
+
@database_adapters = database_adapters
|
14
|
+
@exit_status_code = 0
|
15
|
+
end
|
16
|
+
|
17
|
+
def run
|
18
|
+
original_ar_version = `bundle show activerecord`.split("-").last.strip
|
19
|
+
@active_record_versions.each do |ar_version|
|
20
|
+
run_with_active_record_version(ar_version)
|
21
|
+
end
|
22
|
+
puts "----> Reverting back to original ActiveRecord version (#{original_ar_version})"
|
23
|
+
cmd("ACTIVE_RECORD_VERSION=#{original_ar_version} bundle update")
|
24
|
+
|
25
|
+
exit(@exit_status_code) unless @exit_status_code.zero?
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def cmd(cmd)
|
31
|
+
system(cmd)
|
32
|
+
@exit_status_code = $CHILD_STATUS.exitstatus unless $CHILD_STATUS.success?
|
33
|
+
end
|
34
|
+
|
35
|
+
def run_with_active_record_version(ar_version)
|
36
|
+
puts "----> Switching ActiveRecord to version #{ar_version}"
|
37
|
+
cmd("ACTIVE_RECORD_VERSION=#{ar_version} bundle update")
|
38
|
+
|
39
|
+
@database_adapters.each do |adapter|
|
40
|
+
puts "----> Running tests with ActiveRecord #{ar_version} and #{adapter} adapter"
|
41
|
+
cmd("DATABASE_ADAPTER=#{adapter} ACTIVE_RECORD_VERSION=#{ar_version} bundle exec rake test")
|
42
|
+
end
|
22
43
|
end
|
23
44
|
end
|
24
45
|
|
25
|
-
|
26
|
-
system("ACTIVE_RECORD_VERSION=#{ORIGINAL_AR_VERSION} bundle update activerecord")
|
46
|
+
Matrix.new(active_record_versions.flatten.uniq, database_adapters.uniq).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:
|
@@ -5,7 +5,26 @@ module ActiveRecord
|
|
5
5
|
delegate :with, to: :all
|
6
6
|
end
|
7
7
|
|
8
|
+
module WithMerger
|
9
|
+
def merge
|
10
|
+
super
|
11
|
+
merge_withs
|
12
|
+
relation
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def merge_withs
|
18
|
+
other_values = other.with_values.reject { |value| relation.with_values.include?(value) }
|
19
|
+
relation.with!(*other_values) if other_values.any?
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
8
23
|
class Relation
|
24
|
+
class Merger
|
25
|
+
prepend WithMerger
|
26
|
+
end
|
27
|
+
|
9
28
|
def with(opts, *rest)
|
10
29
|
spawn.with!(opts, *rest)
|
11
30
|
end
|
@@ -27,13 +46,13 @@ module ActiveRecord
|
|
27
46
|
|
28
47
|
private
|
29
48
|
|
30
|
-
def build_arel(
|
31
|
-
arel = super
|
49
|
+
def build_arel(*args)
|
50
|
+
arel = super
|
32
51
|
build_with(arel) if @values[:with]
|
33
52
|
arel
|
34
53
|
end
|
35
54
|
|
36
|
-
def build_with(arel) # rubocop:disable Metrics/MethodLength
|
55
|
+
def build_with(arel) # rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity
|
37
56
|
return if with_values.empty?
|
38
57
|
|
39
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.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vlado Cingel
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-07-25 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
|
@@ -140,7 +174,7 @@ metadata:
|
|
140
174
|
allowed_push_host: https://rubygems.org
|
141
175
|
homepage_uri: https://github.com/vlado/activerecord-cte
|
142
176
|
source_code_uri: https://github.com/vlado/activerecord-cte
|
143
|
-
post_install_message:
|
177
|
+
post_install_message:
|
144
178
|
rdoc_options: []
|
145
179
|
require_paths:
|
146
180
|
- lib
|
@@ -148,15 +182,15 @@ 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.
|
159
|
-
signing_key:
|
192
|
+
rubygems_version: 3.2.22
|
193
|
+
signing_key:
|
160
194
|
specification_version: 4
|
161
195
|
summary: Brings Common Table Expressions support to ActiveRecord and makes it super
|
162
196
|
easy to build and chain complex CTE queries
|