arel_toolkit 0.3.0 → 0.4.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/.codeclimate.yml +3 -0
- data/.github/workflows/develop.yml +90 -0
- data/.github/workflows/master.yml +67 -0
- data/.gitignore +8 -0
- data/.rubocop.yml +13 -5
- data/Appraisals +13 -0
- data/CHANGELOG.md +94 -5
- data/Gemfile +5 -0
- data/Gemfile.lock +62 -33
- data/Guardfile +4 -0
- data/README.md +67 -23
- data/Rakefile +11 -1
- data/arel_toolkit.gemspec +15 -6
- data/benchmark.rb +54 -0
- data/ext/pg_result_init/extconf.rb +52 -0
- data/ext/pg_result_init/pg_result_init.c +138 -0
- data/ext/pg_result_init/pg_result_init.h +6 -0
- data/gemfiles/active_record_6.gemfile +7 -0
- data/gemfiles/active_record_6.gemfile.lock +210 -0
- data/gemfiles/arel_gems.gemfile +10 -0
- data/gemfiles/arel_gems.gemfile.lock +284 -0
- data/gemfiles/default.gemfile +5 -0
- data/gemfiles/default.gemfile.lock +208 -0
- data/lib/arel/enhance.rb +17 -0
- data/lib/arel/enhance/context_enhancer/arel_table.rb +92 -0
- data/lib/arel/enhance/node.rb +232 -0
- data/lib/arel/enhance/path.rb +38 -0
- data/lib/arel/enhance/path_node.rb +26 -0
- data/lib/arel/enhance/query.rb +38 -0
- data/lib/arel/enhance/query_methods.rb +23 -0
- data/lib/arel/enhance/visitor.rb +97 -0
- data/lib/arel/extensions.rb +32 -6
- data/lib/arel/extensions/active_model_attribute_with_cast_value.rb +22 -0
- data/lib/arel/extensions/active_record_relation_query_attribute.rb +22 -0
- data/lib/arel/extensions/active_record_type_caster_connection.rb +7 -0
- data/lib/arel/extensions/active_record_type_caster_map.rb +7 -0
- data/lib/arel/extensions/array.rb +2 -9
- data/lib/arel/extensions/at_time_zone.rb +10 -3
- data/lib/arel/extensions/attributes_attribute.rb +47 -0
- data/lib/arel/extensions/binary.rb +7 -0
- data/lib/arel/extensions/bind_param.rb +15 -0
- data/lib/arel/extensions/bit_string.rb +2 -9
- data/lib/arel/extensions/case.rb +17 -0
- data/lib/arel/extensions/coalesce.rb +17 -3
- data/lib/arel/extensions/conflict.rb +9 -0
- data/lib/arel/extensions/contains.rb +27 -5
- data/lib/arel/extensions/current_catalog.rb +4 -0
- data/lib/arel/extensions/current_date.rb +4 -0
- data/lib/arel/extensions/current_of_expression.rb +2 -9
- data/lib/arel/extensions/current_role.rb +4 -0
- data/lib/arel/extensions/current_row.rb +7 -0
- data/lib/arel/extensions/current_schema.rb +4 -0
- data/lib/arel/extensions/current_user.rb +4 -0
- data/lib/arel/extensions/dealocate.rb +31 -0
- data/lib/arel/extensions/default_values.rb +4 -0
- data/lib/arel/extensions/delete_manager.rb +22 -6
- data/lib/arel/extensions/delete_statement.rb +46 -24
- data/lib/arel/extensions/dot.rb +11 -0
- data/lib/arel/extensions/exists.rb +59 -0
- data/lib/arel/extensions/extract_from.rb +3 -10
- data/lib/arel/extensions/factorial.rb +10 -2
- data/lib/arel/extensions/false.rb +7 -0
- data/lib/arel/extensions/function.rb +44 -14
- data/lib/arel/extensions/greatest.rb +17 -3
- data/lib/arel/extensions/indirection.rb +3 -12
- data/lib/arel/extensions/infer.rb +7 -7
- data/lib/arel/extensions/infix_operation.rb +17 -0
- data/lib/arel/extensions/insert_manager.rb +19 -3
- data/lib/arel/extensions/insert_statement.rb +31 -12
- data/lib/arel/extensions/into.rb +21 -0
- data/lib/arel/extensions/least.rb +17 -3
- data/lib/arel/extensions/named_argument.rb +3 -8
- data/lib/arel/extensions/named_function.rb +7 -0
- data/lib/arel/extensions/node.rb +10 -0
- data/lib/arel/extensions/ordering.rb +21 -6
- data/lib/arel/extensions/overlaps.rb +9 -0
- data/lib/arel/extensions/overlay.rb +9 -0
- data/lib/arel/extensions/position.rb +3 -8
- data/lib/arel/extensions/prepare.rb +39 -0
- data/lib/arel/extensions/range_function.rb +10 -2
- data/lib/arel/extensions/row.rb +3 -8
- data/lib/arel/extensions/select_core.rb +73 -0
- data/lib/arel/extensions/select_manager.rb +22 -6
- data/lib/arel/extensions/select_statement.rb +31 -9
- data/lib/arel/extensions/session_user.rb +4 -0
- data/lib/arel/extensions/set_to_default.rb +4 -0
- data/lib/arel/extensions/substring.rb +8 -0
- data/lib/arel/extensions/table.rb +43 -10
- data/lib/arel/extensions/time_with_precision.rb +6 -0
- data/lib/arel/extensions/to_sql.rb +27 -0
- data/lib/arel/extensions/top.rb +8 -0
- data/lib/arel/extensions/transaction.rb +3 -8
- data/lib/arel/extensions/tree_manager.rb +15 -0
- data/lib/arel/extensions/trim.rb +8 -0
- data/lib/arel/extensions/true.rb +7 -0
- data/lib/arel/extensions/type_cast.rb +7 -0
- data/lib/arel/extensions/unary.rb +7 -0
- data/lib/arel/extensions/unary_operation.rb +16 -0
- data/lib/arel/extensions/unknown.rb +4 -0
- data/lib/arel/extensions/update_manager.rb +22 -6
- data/lib/arel/extensions/update_statement.rb +36 -33
- data/lib/arel/extensions/user.rb +4 -0
- data/lib/arel/extensions/values_list.rb +15 -0
- data/lib/arel/extensions/variable_set.rb +9 -0
- data/lib/arel/extensions/variable_show.rb +3 -8
- data/lib/arel/middleware.rb +5 -1
- data/lib/arel/middleware/active_record_extension.rb +13 -0
- data/lib/arel/middleware/cache_accessor.rb +35 -0
- data/lib/arel/middleware/chain.rb +108 -33
- data/lib/arel/middleware/database_executor.rb +77 -0
- data/lib/arel/middleware/no_op_cache.rb +9 -0
- data/lib/arel/middleware/postgresql_adapter.rb +41 -5
- data/lib/arel/middleware/railtie.rb +15 -1
- data/lib/arel/middleware/result.rb +170 -0
- data/lib/arel/middleware/to_sql_executor.rb +15 -0
- data/lib/arel/middleware/to_sql_middleware.rb +33 -0
- data/lib/arel/sql_to_arel.rb +6 -3
- data/lib/arel/sql_to_arel/pg_query_visitor.rb +67 -38
- data/lib/arel/sql_to_arel/pg_query_visitor/frame_options.rb +1 -1
- data/lib/arel/sql_to_arel/result.rb +17 -4
- data/lib/arel/transformer.rb +8 -0
- data/lib/arel/transformer/prefix_schema_name.rb +183 -0
- data/lib/arel/transformer/remove_active_record_info.rb +40 -0
- data/lib/arel/transformer/replace_table_with_subquery.rb +31 -0
- data/lib/arel_toolkit.rb +15 -2
- data/lib/arel_toolkit/version.rb +1 -1
- metadata +179 -42
- data/.travis.yml +0 -29
- data/lib/arel/extensions/generate_series.rb +0 -9
- data/lib/arel/extensions/rank.rb +0 -9
- data/lib/arel/extensions/unbound_column_reference.rb +0 -5
- data/lib/arel/sql_formatter.rb +0 -59
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a61ce95fcd49278974796940a1c783448978fef075e83157ee95e2e7fce1d42d
|
4
|
+
data.tar.gz: bb0431b90908d911f52b0d3b02c1acac0f0223274b73aa53305cebe1bdb77bd1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aa03c27964e900c04f5af3178c7744eb8ef08a64537c1dc0594262cf4e5fffb1e0c5907ef891048bfa224f2d39f31fedc78aa7a8e0f03294af8193dc8c1e63c3
|
7
|
+
data.tar.gz: a2e1849d25ddaee84720b1ed10045a9fc6e0b926d555557f99c3498bdecb02de0eda06fb4a04f1f9a72a4f9b945a089b3ece8059cd04ad42f45d843446244b15
|
data/.codeclimate.yml
CHANGED
@@ -0,0 +1,90 @@
|
|
1
|
+
name: CI - develop
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches-ignore:
|
5
|
+
- master
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
rspec:
|
9
|
+
name: RSpec - ${{ matrix.title }}
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
strategy:
|
12
|
+
fail-fast: false
|
13
|
+
matrix:
|
14
|
+
checkout: [branch, master]
|
15
|
+
include:
|
16
|
+
- checkout: branch
|
17
|
+
ref: null
|
18
|
+
title: current branch
|
19
|
+
rebase: false
|
20
|
+
codeclimate: true
|
21
|
+
- checkout: master
|
22
|
+
ref: master
|
23
|
+
title: merge with master
|
24
|
+
rebase: true
|
25
|
+
codeclimate: false
|
26
|
+
|
27
|
+
services:
|
28
|
+
postgres:
|
29
|
+
options: >-
|
30
|
+
--health-cmd pg_isready
|
31
|
+
--health-interval 10s
|
32
|
+
--health-timeout 5s
|
33
|
+
--health-retries 5
|
34
|
+
image: postgres:10.10
|
35
|
+
ports:
|
36
|
+
- 5432:5432
|
37
|
+
env:
|
38
|
+
POSTGRES_DB: arel_toolkit_test
|
39
|
+
POSTGRES_USER: postgres
|
40
|
+
steps:
|
41
|
+
- uses: actions/checkout@v1
|
42
|
+
with:
|
43
|
+
ref: ${{ matrix.ref }}
|
44
|
+
|
45
|
+
# Based on
|
46
|
+
# https://discourse.drone.io/t/planned-change-to-git-clone-logic/1165
|
47
|
+
- name: Rebase
|
48
|
+
if: matrix.rebase
|
49
|
+
run: |
|
50
|
+
export GIT_AUTHOR_NAME=${CI_COMMIT_AUTHOR_NAME=GithubCI}
|
51
|
+
export GIT_AUTHOR_EMAIL=${CI_COMMIT_AUTHOR_EMAIL=ci@github.comm}
|
52
|
+
export GIT_COMMITTER_NAME=${GIT_AUTHOR_NAME}
|
53
|
+
export GIT_COMMITTER_EMAIL=${GIT_AUTHOR_EMAIL}
|
54
|
+
git fetch origin $GITHUB_REF
|
55
|
+
git rebase $GITHUB_SHA
|
56
|
+
|
57
|
+
- name: Set up Ruby 2.5.x
|
58
|
+
uses: actions/setup-ruby@v1
|
59
|
+
with:
|
60
|
+
ruby-version: 2.5.x
|
61
|
+
|
62
|
+
- name: Setup
|
63
|
+
run: |
|
64
|
+
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
65
|
+
chmod +x ./cc-test-reporter
|
66
|
+
./cc-test-reporter before-build
|
67
|
+
|
68
|
+
sudo apt-get install -y libpq-dev
|
69
|
+
|
70
|
+
gem install bundler
|
71
|
+
|
72
|
+
bundle install --jobs 4 --retry 3
|
73
|
+
bundle exec appraisal install
|
74
|
+
|
75
|
+
bundle exec rake clean
|
76
|
+
bundle exec rake compile
|
77
|
+
|
78
|
+
- name: RSpec
|
79
|
+
run: |
|
80
|
+
bundle exec appraisal rspec --force-color
|
81
|
+
|
82
|
+
- name: Report to codeclimate
|
83
|
+
if: always() && matrix.codeclimate
|
84
|
+
shell: bash
|
85
|
+
env:
|
86
|
+
JOB_STATUS: ${{ job.status == 'Success' }}
|
87
|
+
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
|
88
|
+
run: |
|
89
|
+
EXIT_CODE=$([[ "$JOB_STATUS" == true ]] && echo 0 || echo 1)
|
90
|
+
./cc-test-reporter after-build --exit-code $EXIT_CODE
|
@@ -0,0 +1,67 @@
|
|
1
|
+
name: CI - master
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches:
|
5
|
+
- master
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
rspec:
|
9
|
+
name: RSpec - master
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
|
12
|
+
services:
|
13
|
+
postgres:
|
14
|
+
options: >-
|
15
|
+
--health-cmd pg_isready
|
16
|
+
--health-interval 10s
|
17
|
+
--health-timeout 5s
|
18
|
+
--health-retries 5
|
19
|
+
image: postgres:10.10
|
20
|
+
ports:
|
21
|
+
- 5432:5432
|
22
|
+
env:
|
23
|
+
POSTGRES_DB: arel_toolkit_test
|
24
|
+
POSTGRES_USER: postgres
|
25
|
+
steps:
|
26
|
+
- uses: actions/checkout@v1
|
27
|
+
|
28
|
+
- name: Set up Ruby 2.5.x
|
29
|
+
uses: actions/setup-ruby@v1
|
30
|
+
with:
|
31
|
+
ruby-version: 2.5.x
|
32
|
+
|
33
|
+
- name: Setup
|
34
|
+
run: |
|
35
|
+
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
36
|
+
chmod +x ./cc-test-reporter
|
37
|
+
./cc-test-reporter before-build
|
38
|
+
|
39
|
+
sudo apt-get install -y libpq-dev
|
40
|
+
|
41
|
+
gem install bundler
|
42
|
+
|
43
|
+
bundle install --jobs 4 --retry 3
|
44
|
+
bundle exec appraisal install
|
45
|
+
|
46
|
+
bundle exec rake clean
|
47
|
+
bundle exec rake compile
|
48
|
+
|
49
|
+
- name: RSpec
|
50
|
+
run: |
|
51
|
+
bundle exec appraisal rspec --force-color
|
52
|
+
|
53
|
+
- name: Report to codeclimate
|
54
|
+
if: always()
|
55
|
+
shell: bash
|
56
|
+
env:
|
57
|
+
JOB_STATUS: ${{ job.status == 'Success' }}
|
58
|
+
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
|
59
|
+
run: |
|
60
|
+
EXIT_CODE=$([[ "$JOB_STATUS" == true ]] && echo 0 || echo 1)
|
61
|
+
./cc-test-reporter after-build --exit-code $EXIT_CODE
|
62
|
+
|
63
|
+
- name: Upload coverage to GitHub pages
|
64
|
+
uses: maxheld83/ghpages@v0.2.1
|
65
|
+
env:
|
66
|
+
BUILD_DIR: ./coverage
|
67
|
+
GH_PAT: ${{ secrets.GH_PAT }}
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
AllCops:
|
2
|
+
Exclude:
|
3
|
+
- 'gemfiles/arel_gems.gemfile'
|
4
|
+
- 'gemfiles/default.gemfile'
|
3
5
|
|
4
6
|
Bundler/OrderedGems:
|
5
7
|
Enabled: false
|
@@ -7,9 +9,6 @@ Bundler/OrderedGems:
|
|
7
9
|
Gemspec/OrderedDependencies:
|
8
10
|
Enabled: false
|
9
11
|
|
10
|
-
Style/MultilineBlockChain:
|
11
|
-
Enabled: false
|
12
|
-
|
13
12
|
Metrics/LineLength:
|
14
13
|
Enabled: true
|
15
14
|
Max: 100
|
@@ -26,12 +25,21 @@ Metrics/BlockLength:
|
|
26
25
|
Style/Documentation:
|
27
26
|
Enabled: false
|
28
27
|
|
28
|
+
Style/MultilineBlockChain:
|
29
|
+
Enabled: false
|
30
|
+
|
31
|
+
Style/TrailingCommaInHashLiteral:
|
32
|
+
EnforcedStyleForMultiline: comma
|
33
|
+
|
29
34
|
Style/TrailingCommaInArrayLiteral:
|
30
35
|
EnforcedStyleForMultiline: comma
|
31
36
|
|
32
37
|
Style/TrailingCommaInArguments:
|
33
38
|
EnforcedStyleForMultiline: comma
|
34
39
|
|
40
|
+
Style/FrozenStringLiteralComment:
|
41
|
+
Enabled: false
|
42
|
+
|
35
43
|
Layout/MultilineMethodCallIndentation:
|
36
44
|
Enabled: true
|
37
45
|
EnforcedStyle: indented
|
data/Appraisals
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
appraise 'arel_gems' do
|
2
|
+
gem 'postgres_ext', github: 'Hacker0x01/postgres_ext', branch: 'rails-5.2'
|
3
|
+
gem 'active_record_upsert', github: 'Hacker0x01/active_record_upsert', branch: 'master'
|
4
|
+
gem 'pg_search', github: 'Hacker0x01/pg_search', branch: 'update-ranking'
|
5
|
+
gem 'rspec-rails', '~> 3.8.0'
|
6
|
+
end
|
7
|
+
|
8
|
+
appraise 'default' do
|
9
|
+
end
|
10
|
+
|
11
|
+
appraise 'active_record_6' do
|
12
|
+
gem 'activerecord', '~> 6.0.0'
|
13
|
+
end
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,90 @@
|
|
1
|
-
#
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## [v0.4.4](https://github.com/mvgijssel/arel_toolkit/tree/v0.4.4) (2021-02-11)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/mvgijssel/arel_toolkit/compare/v0.4.3...v0.4.4)
|
6
|
+
|
7
|
+
**Implemented enhancements:**
|
8
|
+
|
9
|
+
- Bump nokogiri from 1.10.8 to 1.11.1 [\#171](https://github.com/mvgijssel/arel_toolkit/pull/171) ([dependabot[bot]](https://github.com/apps/dependabot))
|
10
|
+
|
11
|
+
**Fixed bugs:**
|
12
|
+
|
13
|
+
- Fix conditional update and delete statements in Rails 6 [\#170](https://github.com/mvgijssel/arel_toolkit/pull/170) ([mvgijssel](https://github.com/mvgijssel))
|
14
|
+
|
15
|
+
## [v0.4.3](https://github.com/mvgijssel/arel_toolkit/tree/v0.4.3) (2020-11-09)
|
16
|
+
|
17
|
+
[Full Changelog](https://github.com/mvgijssel/arel_toolkit/compare/v0.4.2...v0.4.3)
|
18
|
+
|
19
|
+
**Implemented enhancements:**
|
20
|
+
|
21
|
+
- Upgrade active\_record to 6 [\#167](https://github.com/mvgijssel/arel_toolkit/pull/167) ([khaleksa](https://github.com/khaleksa))
|
22
|
+
- Bump json from 2.2.0 to 2.3.1 [\#166](https://github.com/mvgijssel/arel_toolkit/pull/166) ([dependabot[bot]](https://github.com/apps/dependabot))
|
23
|
+
- Bump activesupport from 5.2.3 to 5.2.4.3 [\#165](https://github.com/mvgijssel/arel_toolkit/pull/165) ([dependabot[bot]](https://github.com/apps/dependabot))
|
24
|
+
- Update rake requirement from ~\> 10.0 to ~\> 13.0 [\#161](https://github.com/mvgijssel/arel_toolkit/pull/161) ([dependabot[bot]](https://github.com/apps/dependabot))
|
25
|
+
- Bump nokogiri from 1.10.4 to 1.10.8 [\#160](https://github.com/mvgijssel/arel_toolkit/pull/160) ([dependabot[bot]](https://github.com/apps/dependabot))
|
26
|
+
- Adds cache mechanism to middleware [\#154](https://github.com/mvgijssel/arel_toolkit/pull/154) ([Willianvdv](https://github.com/Willianvdv))
|
27
|
+
|
28
|
+
## [v0.4.2](https://github.com/mvgijssel/arel_toolkit/tree/v0.4.2) (2020-01-08)
|
29
|
+
|
30
|
+
[Full Changelog](https://github.com/mvgijssel/arel_toolkit/compare/v0.4.1...v0.4.2)
|
31
|
+
|
32
|
+
**Breaking changes:**
|
33
|
+
|
34
|
+
- Remove path, inline visit and improve recursion for improved performance [\#152](https://github.com/mvgijssel/arel_toolkit/pull/152) ([Willianvdv](https://github.com/Willianvdv))
|
35
|
+
|
36
|
+
**Implemented enhancements:**
|
37
|
+
|
38
|
+
- Validate whether setting a session variable transformation does the right thing [\#155](https://github.com/mvgijssel/arel_toolkit/issues/155)
|
39
|
+
- Add ability to mutate nodes with precomputed Arel::Nodes::Enhance [\#158](https://github.com/mvgijssel/arel_toolkit/pull/158) ([mvgijssel](https://github.com/mvgijssel))
|
40
|
+
|
41
|
+
## [v0.4.1](https://github.com/mvgijssel/arel_toolkit/tree/v0.4.1) (2019-11-13)
|
42
|
+
|
43
|
+
[Full Changelog](https://github.com/mvgijssel/arel_toolkit/compare/v0.4.0...v0.4.1)
|
44
|
+
|
45
|
+
**Implemented enhancements:**
|
46
|
+
|
47
|
+
- Create a transformer that replaces a table reference with a subquery [\#141](https://github.com/mvgijssel/arel_toolkit/issues/141)
|
48
|
+
- Same signature for all middleware helpers [\#135](https://github.com/mvgijssel/arel_toolkit/issues/135)
|
49
|
+
- Instantiate PG::Result object instead of duck typed object [\#130](https://github.com/mvgijssel/arel_toolkit/issues/130)
|
50
|
+
- Add `to\_sql` to Arel.middleware which prints the sql after middleware processing [\#127](https://github.com/mvgijssel/arel_toolkit/issues/127)
|
51
|
+
- Extend Middleware to include the response from the database [\#126](https://github.com/mvgijssel/arel_toolkit/issues/126)
|
52
|
+
- Extend AddSchemaToTable to support multiple schemas and regclass typecasts [\#124](https://github.com/mvgijssel/arel_toolkit/issues/124)
|
53
|
+
- Optional context argument for Arel middleware [\#110](https://github.com/mvgijssel/arel_toolkit/issues/110)
|
54
|
+
- Handle is\_rowsfrom in pg\_query\_visitor\#visit\_RangeFunction [\#36](https://github.com/mvgijssel/arel_toolkit/issues/36)
|
55
|
+
- Bump nokogiri from 1.10.3 to 1.10.4 [\#132](https://github.com/mvgijssel/arel_toolkit/pull/132) ([dependabot[bot]](https://github.com/apps/dependabot))
|
56
|
+
|
57
|
+
**Fixed bugs:**
|
58
|
+
|
59
|
+
- Bundle install fails with missing arel\_toolkit/pg\_result\_init [\#148](https://github.com/mvgijssel/arel_toolkit/issues/148)
|
60
|
+
- Handle column reference with 3 \(or more\) fields [\#145](https://github.com/mvgijssel/arel_toolkit/issues/145)
|
61
|
+
- Error when aliasing a range select [\#144](https://github.com/mvgijssel/arel_toolkit/issues/144)
|
62
|
+
- Make sure the method signatures of PostgreSQLAdapter match [\#122](https://github.com/mvgijssel/arel_toolkit/issues/122)
|
63
|
+
- Fix missing middleware method and fix \(again\) infinite middleware recursion [\#120](https://github.com/mvgijssel/arel_toolkit/issues/120)
|
64
|
+
- Use named window with OVER. [\#149](https://github.com/mvgijssel/arel_toolkit/pull/149) ([khaleksa](https://github.com/khaleksa))
|
65
|
+
|
66
|
+
## [v0.4.0](https://github.com/mvgijssel/arel_toolkit/tree/v0.4.0) (2019-07-31)
|
67
|
+
|
68
|
+
[Full Changelog](https://github.com/mvgijssel/arel_toolkit/compare/v0.3.0...v0.4.0)
|
69
|
+
|
70
|
+
**Implemented enhancements:**
|
71
|
+
|
72
|
+
- Replace Arel::Nodes::UnboundColumnReference with Arel::Nodes::UnqualifiedColumn [\#91](https://github.com/mvgijssel/arel_toolkit/issues/91)
|
73
|
+
- Add brakeman to check for security vulnerabilities [\#10](https://github.com/mvgijssel/arel_toolkit/issues/10)
|
74
|
+
- Rename Arel.transformer to Arel.enhance [\#111](https://github.com/mvgijssel/arel_toolkit/issues/111)
|
75
|
+
- Ability to query an Arel transformer tree [\#103](https://github.com/mvgijssel/arel_toolkit/issues/103)
|
76
|
+
- Implement PREPARE and DEALLOCATE statement [\#101](https://github.com/mvgijssel/arel_toolkit/issues/101)
|
77
|
+
- Create Arel transformer class to safely and easily mutate an Arel AST [\#89](https://github.com/mvgijssel/arel_toolkit/issues/89)
|
78
|
+
- Test and verify compatibility with Arel extension gems [\#81](https://github.com/mvgijssel/arel_toolkit/issues/81)
|
79
|
+
- Automatically load Railtie when gem is included in Rails [\#66](https://github.com/mvgijssel/arel_toolkit/issues/66)
|
80
|
+
- Create remove ActiveRecord specifics transformer [\#63](https://github.com/mvgijssel/arel_toolkit/issues/63)
|
81
|
+
|
82
|
+
**Fixed bugs:**
|
83
|
+
|
84
|
+
- TypeError: superclass mismatch for class Overlap [\#93](https://github.com/mvgijssel/arel_toolkit/issues/93)
|
2
85
|
|
3
86
|
## [v0.3.0](https://github.com/mvgijssel/arel_toolkit/tree/v0.3.0) (2019-07-01)
|
87
|
+
|
4
88
|
[Full Changelog](https://github.com/mvgijssel/arel_toolkit/compare/v0.2.0...v0.3.0)
|
5
89
|
|
6
90
|
**Implemented enhancements:**
|
@@ -28,11 +112,13 @@
|
|
28
112
|
- File issues for commented out rspec test [\#51](https://github.com/mvgijssel/arel_toolkit/issues/51)
|
29
113
|
|
30
114
|
## [v0.2.0](https://github.com/mvgijssel/arel_toolkit/tree/v0.2.0) (2019-05-30)
|
115
|
+
|
31
116
|
[Full Changelog](https://github.com/mvgijssel/arel_toolkit/compare/v0.1.0...v0.2.0)
|
32
117
|
|
33
118
|
**Implemented enhancements:**
|
34
119
|
|
35
120
|
- Handle op in pg\_query\_visitor\#visit\_SelectStmt [\#38](https://github.com/mvgijssel/arel_toolkit/issues/38)
|
121
|
+
- Introduce Guard [\#5](https://github.com/mvgijssel/arel_toolkit/issues/5)
|
36
122
|
- Add WITH, OVERRIDING and RETURNING to INSERT [\#28](https://github.com/mvgijssel/arel_toolkit/issues/28)
|
37
123
|
- Return \(Select|Update|Insert|Delete\)Manager instead of \(Select|Update|Insert|Delete\)Statement [\#25](https://github.com/mvgijssel/arel_toolkit/issues/25)
|
38
124
|
- Implement UNION in sql\_to\_arel [\#24](https://github.com/mvgijssel/arel_toolkit/issues/24)
|
@@ -41,7 +127,11 @@
|
|
41
127
|
- Implement pg\_query\_visitor method for INSERT [\#21](https://github.com/mvgijssel/arel_toolkit/issues/21)
|
42
128
|
- Implement pg\_query\_visitor method for UPDATE [\#20](https://github.com/mvgijssel/arel_toolkit/issues/20)
|
43
129
|
- Implement all the visitor methods in PgQueryVisitor for SELECT statements [\#11](https://github.com/mvgijssel/arel_toolkit/issues/11)
|
44
|
-
-
|
130
|
+
- 22/implement delete [\#30](https://github.com/mvgijssel/arel_toolkit/pull/30) ([mvgijssel](https://github.com/mvgijssel))
|
131
|
+
- Added WITH, OVERRIDING and RETURINING to INSERT [\#29](https://github.com/mvgijssel/arel_toolkit/pull/29) ([mvgijssel](https://github.com/mvgijssel))
|
132
|
+
- Added badges to README \(and fix setup\) [\#3](https://github.com/mvgijssel/arel_toolkit/pull/3) ([mvgijssel](https://github.com/mvgijssel))
|
133
|
+
- Configure codeclimate [\#2](https://github.com/mvgijssel/arel_toolkit/pull/2) ([mvgijssel](https://github.com/mvgijssel))
|
134
|
+
- Updated travis file [\#1](https://github.com/mvgijssel/arel_toolkit/pull/1) ([mvgijssel](https://github.com/mvgijssel))
|
45
135
|
|
46
136
|
**Fixed bugs:**
|
47
137
|
|
@@ -49,11 +139,10 @@
|
|
49
139
|
|
50
140
|
**Closed issues:**
|
51
141
|
|
52
|
-
- Create issues for unknown branches in pg\_query\_visitor [\#19](https://github.com/mvgijssel/arel_toolkit/issues/19)
|
53
142
|
- Remove unnecessary to\_arel remains [\#15](https://github.com/mvgijssel/arel_toolkit/issues/15)
|
54
143
|
- Merge to\_arel gem [\#4](https://github.com/mvgijssel/arel_toolkit/issues/4)
|
144
|
+
- Create issues for unknown branches in pg\_query\_visitor [\#19](https://github.com/mvgijssel/arel_toolkit/issues/19)
|
55
145
|
|
56
|
-
## [v0.1.0](https://github.com/mvgijssel/arel_toolkit/tree/v0.1.0) (2019-05-16)
|
57
146
|
|
58
147
|
|
59
|
-
\* *This
|
148
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,54 +1,60 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
arel_toolkit (0.
|
5
|
-
activerecord
|
6
|
-
arel (~> 9.0.0)
|
4
|
+
arel_toolkit (0.4.4)
|
5
|
+
activerecord
|
7
6
|
pg (~> 1.1.4)
|
8
|
-
pg_query (~> 1.
|
7
|
+
pg_query (~> 1.3)
|
9
8
|
|
10
9
|
GEM
|
11
10
|
remote: https://rubygems.org/
|
12
11
|
specs:
|
13
|
-
activemodel (5.2.3)
|
14
|
-
activesupport (= 5.2.3)
|
15
|
-
activerecord (5.2.3)
|
16
|
-
activemodel (= 5.2.3)
|
17
|
-
activesupport (= 5.2.3)
|
12
|
+
activemodel (5.2.4.3)
|
13
|
+
activesupport (= 5.2.4.3)
|
14
|
+
activerecord (5.2.4.3)
|
15
|
+
activemodel (= 5.2.4.3)
|
16
|
+
activesupport (= 5.2.4.3)
|
18
17
|
arel (>= 9.0)
|
19
|
-
activesupport (5.2.3)
|
18
|
+
activesupport (5.2.4.3)
|
20
19
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
21
20
|
i18n (>= 0.7, < 2)
|
22
21
|
minitest (~> 5.1)
|
23
22
|
tzinfo (~> 1.1)
|
24
|
-
addressable (2.
|
25
|
-
public_suffix (>= 2.0.2, <
|
23
|
+
addressable (2.7.0)
|
24
|
+
public_suffix (>= 2.0.2, < 5.0)
|
26
25
|
ansi (1.5.0)
|
26
|
+
appraisal (2.2.0)
|
27
|
+
bundler
|
28
|
+
rake
|
29
|
+
thor (>= 0.14.0)
|
30
|
+
approvals (0.0.24)
|
31
|
+
nokogiri (~> 1.6)
|
32
|
+
thor (~> 0.18)
|
27
33
|
arel (9.0.0)
|
28
34
|
ast (2.4.0)
|
29
35
|
binding_of_caller (0.8.0)
|
30
36
|
debug_inspector (>= 0.0.1)
|
31
37
|
coderay (1.1.2)
|
32
|
-
concurrent-ruby (1.1.
|
38
|
+
concurrent-ruby (1.1.6)
|
33
39
|
database_cleaner (1.7.0)
|
34
40
|
debug_inspector (0.0.3)
|
35
41
|
diff-lcs (1.3)
|
36
42
|
docile (1.3.1)
|
37
43
|
dpl (1.10.11)
|
38
|
-
faraday (0.
|
44
|
+
faraday (0.17.0)
|
39
45
|
multipart-post (>= 1.2, < 3)
|
40
46
|
faraday-http-cache (2.0.0)
|
41
47
|
faraday (~> 0.8)
|
42
48
|
ffi (1.11.1)
|
43
49
|
formatador (0.2.5)
|
44
|
-
github_changelog_generator (1.
|
50
|
+
github_changelog_generator (1.15.0)
|
45
51
|
activesupport
|
46
52
|
faraday-http-cache
|
47
53
|
multi_json
|
48
54
|
octokit (~> 4.6)
|
49
|
-
rainbow (>= 2.1)
|
55
|
+
rainbow (>= 2.2.1)
|
50
56
|
rake (>= 10.0)
|
51
|
-
retriable (~>
|
57
|
+
retriable (~> 3.0)
|
52
58
|
guard (2.15.0)
|
53
59
|
formatador (>= 0.2.4)
|
54
60
|
listen (>= 2.7, < 4.0)
|
@@ -59,6 +65,9 @@ GEM
|
|
59
65
|
shellany (~> 0.0)
|
60
66
|
thor (>= 0.18.1)
|
61
67
|
guard-compat (1.2.1)
|
68
|
+
guard-rake (1.0.0)
|
69
|
+
guard
|
70
|
+
rake
|
62
71
|
guard-rspec (4.7.3)
|
63
72
|
guard (~> 2.1)
|
64
73
|
guard-compat (~> 1.1)
|
@@ -67,21 +76,26 @@ GEM
|
|
67
76
|
guard (~> 2.0)
|
68
77
|
rubocop (~> 0.20)
|
69
78
|
hirb (0.7.3)
|
70
|
-
i18n (1.
|
79
|
+
i18n (1.8.2)
|
71
80
|
concurrent-ruby (~> 1.0)
|
72
81
|
interception (0.5)
|
73
|
-
jaro_winkler (1.5.
|
74
|
-
json (2.
|
82
|
+
jaro_winkler (1.5.3)
|
83
|
+
json (2.3.1)
|
75
84
|
listen (3.1.5)
|
76
85
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
77
86
|
rb-inotify (~> 0.9, >= 0.9.7)
|
78
87
|
ruby_dep (~> 1.2)
|
79
88
|
lumberjack (1.0.13)
|
89
|
+
memory_profiler (0.9.14)
|
80
90
|
method_source (0.9.2)
|
81
|
-
|
82
|
-
|
91
|
+
mini_portile2 (2.5.0)
|
92
|
+
minitest (5.14.1)
|
93
|
+
multi_json (1.14.1)
|
83
94
|
multipart-post (2.1.1)
|
84
95
|
nenv (0.3.0)
|
96
|
+
nokogiri (1.11.1)
|
97
|
+
mini_portile2 (~> 2.5.0)
|
98
|
+
racc (~> 1.4)
|
85
99
|
notiffany (0.1.1)
|
86
100
|
nenv (~> 0.1)
|
87
101
|
shellany (~> 0.0)
|
@@ -91,13 +105,16 @@ GEM
|
|
91
105
|
parser (2.6.3.0)
|
92
106
|
ast (~> 2.4.0)
|
93
107
|
pg (1.1.4)
|
94
|
-
pg_query (1.
|
108
|
+
pg_query (1.3.0)
|
95
109
|
pry (0.12.2)
|
96
110
|
coderay (~> 1.1.0)
|
97
111
|
method_source (~> 0.9.0)
|
98
112
|
pry-alias (0.0.1)
|
99
113
|
binding_of_caller
|
100
114
|
pry
|
115
|
+
pry-doc (1.0.0)
|
116
|
+
pry (~> 0.11)
|
117
|
+
yard (~> 0.9.11)
|
101
118
|
pry-nav (0.3.0)
|
102
119
|
pry (>= 0.9.10, < 0.13.0)
|
103
120
|
pry-rescue (1.5.0)
|
@@ -106,13 +123,16 @@ GEM
|
|
106
123
|
pry-stack_explorer (0.4.9.3)
|
107
124
|
binding_of_caller (>= 0.7)
|
108
125
|
pry (>= 0.9.11)
|
109
|
-
public_suffix (
|
126
|
+
public_suffix (4.0.1)
|
127
|
+
racc (1.5.2)
|
110
128
|
rainbow (3.0.0)
|
111
|
-
rake (
|
129
|
+
rake (13.0.1)
|
130
|
+
rake-compiler (1.0.7)
|
131
|
+
rake
|
112
132
|
rb-fsevent (0.10.3)
|
113
133
|
rb-inotify (0.10.0)
|
114
134
|
ffi (~> 1.0)
|
115
|
-
retriable (
|
135
|
+
retriable (3.1.2)
|
116
136
|
rspec (3.8.0)
|
117
137
|
rspec-core (~> 3.8.0)
|
118
138
|
rspec-expectations (~> 3.8.0)
|
@@ -126,14 +146,14 @@ GEM
|
|
126
146
|
diff-lcs (>= 1.2.0, < 2.0)
|
127
147
|
rspec-support (~> 3.8.0)
|
128
148
|
rspec-support (3.8.0)
|
129
|
-
rubocop (0.
|
149
|
+
rubocop (0.71.0)
|
130
150
|
jaro_winkler (~> 1.5.1)
|
131
151
|
parallel (~> 1.10)
|
132
152
|
parser (>= 2.6)
|
133
153
|
rainbow (>= 2.2.2, < 4.0)
|
134
154
|
ruby-progressbar (~> 1.7)
|
135
155
|
unicode-display_width (>= 1.4.0, < 1.7)
|
136
|
-
ruby-progressbar (1.10.
|
156
|
+
ruby-progressbar (1.10.1)
|
137
157
|
ruby_dep (1.5.0)
|
138
158
|
sawyer (0.8.2)
|
139
159
|
addressable (>= 2.3.5)
|
@@ -148,34 +168,43 @@ GEM
|
|
148
168
|
hirb
|
149
169
|
simplecov
|
150
170
|
simplecov-html (0.10.2)
|
171
|
+
stackprof (0.2.13)
|
151
172
|
thor (0.20.3)
|
152
173
|
thread_safe (0.3.6)
|
153
|
-
tzinfo (1.2.
|
174
|
+
tzinfo (1.2.7)
|
154
175
|
thread_safe (~> 0.1)
|
155
176
|
unicode-display_width (1.6.0)
|
177
|
+
yard (0.9.20)
|
156
178
|
|
157
179
|
PLATFORMS
|
158
180
|
ruby
|
159
181
|
|
160
182
|
DEPENDENCIES
|
183
|
+
appraisal (~> 2.2.0)
|
184
|
+
approvals (~> 0.0.24)
|
161
185
|
arel_toolkit!
|
162
186
|
bundler (~> 2.0)
|
163
187
|
database_cleaner (~> 1.7.0)
|
164
188
|
dpl (~> 1.10.11)
|
165
|
-
github_changelog_generator (~> 1.
|
189
|
+
github_changelog_generator (~> 1.15)
|
166
190
|
guard (~> 2.15)
|
191
|
+
guard-rake (~> 1.0.0)
|
167
192
|
guard-rspec (~> 4.7)
|
168
193
|
guard-rubocop (~> 1.3.0)
|
194
|
+
memory_profiler (~> 0.9)
|
169
195
|
pry
|
170
196
|
pry-alias
|
197
|
+
pry-doc
|
171
198
|
pry-nav
|
172
199
|
pry-rescue
|
173
200
|
pry-stack_explorer
|
174
|
-
rake (~>
|
201
|
+
rake (~> 13.0)
|
202
|
+
rake-compiler (~> 1.0)
|
175
203
|
rspec (~> 3.8)
|
176
|
-
rubocop (
|
204
|
+
rubocop (= 0.71.0)
|
177
205
|
simplecov (~> 0.16.1)
|
178
206
|
simplecov-console (~> 0.4.2)
|
207
|
+
stackprof (~> 0.2)
|
179
208
|
|
180
209
|
BUNDLED WITH
|
181
|
-
2.
|
210
|
+
2.1.4
|