activerecord-cte 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
![Rubocop](https://github.com/vlado/activerecord-cte/actions/workflows/rubocop.yml/badge.svg)
|
4
|
+
![MySQL](https://github.com/vlado/activerecord-cte/actions/workflows/test-with-mysql.yml/badge.svg)
|
5
|
+
![PostgreSQL](https://github.com/vlado/activerecord-cte/actions/workflows/test-with-postgresql.yml/badge.svg)
|
6
|
+
![SQLite](https://github.com/vlado/activerecord-cte/actions/workflows/test-with-sqlite.yml/badge.svg)
|
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
|