arel_extensions 2.1.4 → 2.1.5
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/ruby.yml +41 -89
- data/.gitignore +7 -6
- data/.rubocop.yml +37 -0
- data/Gemfile +3 -3
- data/README.md +1 -0
- data/appveyor.yml +73 -0
- data/gemfiles/rails3.gemfile +5 -5
- data/gemfiles/rails4.gemfile +7 -7
- data/gemfiles/rails5_0.gemfile +6 -6
- data/gemfiles/rails5_1_4.gemfile +6 -6
- data/gemfiles/rails5_2.gemfile +6 -5
- data/gemfiles/rails6.gemfile +5 -4
- data/gemfiles/rails6_1.gemfile +5 -4
- data/gemfiles/rails7.gemfile +5 -4
- data/lib/arel_extensions/common_sql_functions.rb +2 -2
- data/lib/arel_extensions/helpers.rb +12 -12
- data/lib/arel_extensions/math.rb +32 -17
- data/lib/arel_extensions/nodes/cast.rb +2 -2
- data/lib/arel_extensions/nodes/coalesce.rb +1 -1
- data/lib/arel_extensions/nodes/collate.rb +1 -1
- data/lib/arel_extensions/nodes/date_diff.rb +6 -6
- data/lib/arel_extensions/nodes/locate.rb +1 -1
- data/lib/arel_extensions/nodes/repeat.rb +2 -2
- data/lib/arel_extensions/nodes/substring.rb +1 -1
- data/lib/arel_extensions/nodes/then.rb +1 -1
- data/lib/arel_extensions/nodes/trim.rb +2 -2
- data/lib/arel_extensions/nodes/union.rb +3 -3
- data/lib/arel_extensions/nodes/union_all.rb +2 -2
- data/lib/arel_extensions/version.rb +1 -1
- data/lib/arel_extensions/visitors/ibm_db.rb +1 -1
- data/lib/arel_extensions/visitors/mssql.rb +30 -17
- data/lib/arel_extensions/visitors/mysql.rb +15 -10
- data/lib/arel_extensions/visitors/oracle.rb +22 -17
- data/lib/arel_extensions/visitors/postgresql.rb +17 -12
- data/lib/arel_extensions/visitors/sqlite.rb +4 -4
- data/lib/arel_extensions/visitors/to_sql.rb +4 -1
- data/lib/arel_extensions.rb +10 -0
- data/test/arelx_test_helper.rb +1 -1
- data/test/real_db_test.rb +5 -5
- data/test/support/fake_record.rb +1 -1
- data/test/visitors/test_bulk_insert_oracle.rb +3 -3
- data/test/visitors/test_bulk_insert_sqlite.rb +1 -1
- data/test/visitors/test_bulk_insert_to_sql.rb +1 -1
- data/test/visitors/test_to_sql.rb +6 -6
- data/test/with_ar/all_agnostic_test.rb +67 -60
- data/test/with_ar/insert_agnostic_test.rb +3 -3
- data/test/with_ar/test_bulk_sqlite.rb +1 -1
- data/version_v1.rb +1 -1
- data/version_v2.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 460764a1fc17c5359b553da4b62d75b2300cc4a0ead64ce1ddcf3e897d703045
|
4
|
+
data.tar.gz: 751125d207b3485e3220b6335cbd7050516ea7d8bb8cd88b3810e00c0a80fb86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8781a647977d941173ed7dc68c256bb85ecf4c490908baa21ec1e36f32a35e4c175f5c51a69a50e3af4b4921c4575a5bacb8b3748ffe46a8852bac08bb1444c
|
7
|
+
data.tar.gz: 45dbf8f8537750c23ef4d7718cfed20a5e5618b86d84cd4f23154db6e9a92fdef9a4befec53ac29da230e21fbcf8c98f311a3ceef89532cc947cb0a9d3c39f31
|
data/.github/workflows/ruby.yml
CHANGED
@@ -148,32 +148,41 @@ jobs:
|
|
148
148
|
matrix:
|
149
149
|
ruby: [3.1, 3.0, 2.7, 2.5, jruby-9.2, jruby-9.3]
|
150
150
|
rails: [7, 6_1, 6, 5_2]
|
151
|
-
exclude:
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
postgres:
|
163
|
-
image: postgres:11.6-alpine
|
164
|
-
env:
|
165
|
-
POSTGRES_DB: arelx_test
|
166
|
-
POSTGRES_PASSWORD: secret
|
167
|
-
ports:
|
168
|
-
- 5432:5432
|
169
|
-
# needed because the postgres container does not provide a healthcheck
|
170
|
-
options: >-
|
171
|
-
--health-cmd "pg_isready -d arelx_test -U postgres -p 5432"
|
172
|
-
--health-interval 10s
|
173
|
-
--health-timeout 5s
|
174
|
-
--health-retries 5
|
151
|
+
exclude:
|
152
|
+
[
|
153
|
+
{ ruby: 3.1, rails: 6 },
|
154
|
+
{ ruby: 3.1, rails: 5_2 },
|
155
|
+
{ ruby: 3.0, rails: 6 },
|
156
|
+
{ ruby: 3.0, rails: 5_2 },
|
157
|
+
{ ruby: 2.7, rails: 5_2 },
|
158
|
+
{ ruby: 2.5, rails: 7 },
|
159
|
+
{ ruby: jruby-9.2, rails: 7 },
|
160
|
+
{ ruby: jruby-9.3, rails: 7 },
|
161
|
+
]
|
175
162
|
steps:
|
176
163
|
- uses: actions/checkout@v2
|
164
|
+
# PostgreSQL requires locales to be installed on the system to be able
|
165
|
+
# to do time and currency conversions at runtime.
|
166
|
+
#
|
167
|
+
# That's why we're not launching it as a service; pre-built images
|
168
|
+
# lack loaclization.
|
169
|
+
#
|
170
|
+
# After we install locales, we'll install PostgreSQL binaries and start
|
171
|
+
# the service.
|
172
|
+
- name: setup locale
|
173
|
+
run: |
|
174
|
+
sudo locale-gen fr_FR.utf8
|
175
|
+
sudo update-locale
|
176
|
+
- name: setup postgres 11
|
177
|
+
run: |
|
178
|
+
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
|
179
|
+
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
|
180
|
+
sudo apt update
|
181
|
+
sudo apt -y install postgresql-11
|
182
|
+
sudo systemctl enable postgresql
|
183
|
+
sudo systemctl start postgresql
|
184
|
+
sudo su -c "psql -c \"alter user postgres with password 'secret'\"" postgres
|
185
|
+
sudo su -c "createdb arelx_test" postgres
|
177
186
|
- name: Set up Ruby
|
178
187
|
uses: ruby/setup-ruby@v1
|
179
188
|
with:
|
@@ -280,18 +289,19 @@ jobs:
|
|
280
289
|
fail-fast: false
|
281
290
|
matrix:
|
282
291
|
ruby: [3.1, 3.0, 2.7, 2.5, jruby-9.2, jruby-9.3]
|
283
|
-
rails: [
|
292
|
+
rails: [6_1, 6, 5_2]
|
293
|
+
version: [2017, 2019]
|
284
294
|
exclude: [
|
285
295
|
{ruby: 3.1, rails: 6 },
|
286
296
|
{ruby: 3.1, rails: 5_2 },
|
287
297
|
{ruby: 3.0, rails: 6 },
|
288
298
|
{ruby: 3.0, rails: 5_2 },
|
289
299
|
{ruby: 2.7, rails: 5_2 },
|
290
|
-
{ruby: 2.5, rails: 7 },
|
291
|
-
{ruby: jruby-9.2, rails: 7 },
|
300
|
+
# {ruby: 2.5, rails: 7 },
|
301
|
+
# {ruby: jruby-9.2, rails: 7 },
|
292
302
|
{ruby: jruby-9.2, rails: 6_1 },
|
293
303
|
{ruby: jruby-9.2, rails: 6 },
|
294
|
-
{ruby: jruby-9.3, rails: 7 },
|
304
|
+
# {ruby: jruby-9.3, rails: 7 },
|
295
305
|
{ruby: jruby-9.3, rails: 6_1 },
|
296
306
|
{ruby: jruby-9.3, rails: 6 },
|
297
307
|
]
|
@@ -305,9 +315,10 @@ jobs:
|
|
305
315
|
run: |
|
306
316
|
sudo apt-get update -q
|
307
317
|
sudo apt-get install -y freetds-dev
|
308
|
-
- name: Install MSSQL
|
309
|
-
uses: potatoqualitee/mssqlsuite@v1
|
318
|
+
- name: Install MSSQL ${{ matrix.version }}
|
319
|
+
uses: potatoqualitee/mssqlsuite@v1.5.1
|
310
320
|
with:
|
321
|
+
version: ${{ matrix.version }}
|
311
322
|
install: sqlengine, sqlclient, sqlpackage, localdb
|
312
323
|
sa-password: Password12!
|
313
324
|
- name: Update system-wide gems
|
@@ -328,62 +339,3 @@ jobs:
|
|
328
339
|
bundle install
|
329
340
|
- name: Run test mssql
|
330
341
|
run: bundle exec rake test:mssql
|
331
|
-
|
332
|
-
job_test_windows:
|
333
|
-
name: test mssql on windows
|
334
|
-
needs: job_build_gem
|
335
|
-
runs-on: windows-latest
|
336
|
-
strategy:
|
337
|
-
fail-fast: false
|
338
|
-
matrix:
|
339
|
-
ruby: [3.1, 3.0, 2.7, 2.5]
|
340
|
-
rails: [7, 6_1, 6, 5_2]
|
341
|
-
exclude: [
|
342
|
-
{ruby: 3.1, rails: 6 },
|
343
|
-
{ruby: 3.1, rails: 5_2 },
|
344
|
-
{ruby: 3.0, rails: 6 },
|
345
|
-
{ruby: 3.0, rails: 5_2 },
|
346
|
-
{ruby: 2.7, rails: 5_2 },
|
347
|
-
{ruby: 2.5, rails: 7 },
|
348
|
-
{ruby: jruby-9.2, rails: 7 },
|
349
|
-
{ruby: jruby-9.2, rails: 6_1 },
|
350
|
-
{ruby: jruby-9.2, rails: 6 },
|
351
|
-
{ruby: jruby-9.3, rails: 7 },
|
352
|
-
{ruby: jruby-9.3, rails: 6_1 },
|
353
|
-
{ruby: jruby-9.3, rails: 6 },
|
354
|
-
]
|
355
|
-
steps:
|
356
|
-
- uses: actions/checkout@v2
|
357
|
-
- name: Install mssql
|
358
|
-
uses: potatoqualitee/mssqlsuite@v1
|
359
|
-
with:
|
360
|
-
install: sqlengine, sqlclient, sqlpackage, localdb
|
361
|
-
sa-password: Password12!
|
362
|
-
- name: Set up Ruby
|
363
|
-
uses: MSP-Greg/ruby-setup-ruby@win-ucrt-1
|
364
|
-
with:
|
365
|
-
ruby-version: ${{ matrix.ruby }}
|
366
|
-
- name: Install required packages on Windows
|
367
|
-
shell: cmd
|
368
|
-
run: |
|
369
|
-
ridk exec sh -c "pacman --sync --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gcc"
|
370
|
-
- name: Update system-wide gems
|
371
|
-
run: gem update --system
|
372
|
-
- name: Setup Gemfile
|
373
|
-
if: ${{ matrix.rails != '5_2' }}
|
374
|
-
run: |
|
375
|
-
cp ./gemspecs/arel_extensions-v2.gemspec ./arel_extensions.gemspec
|
376
|
-
cp ./version_v2.rb lib/arel_extensions/version.rb
|
377
|
-
cp ./gemfiles/rails${{ matrix.rails }}.gemfile ./Gemfile
|
378
|
-
- name: bundle install
|
379
|
-
run: |
|
380
|
-
bundle config set gemfile .\gemfiles\rails${{ matrix.rails }}.gemfile
|
381
|
-
bundle install --verbose
|
382
|
-
- name: Download gem from build job
|
383
|
-
uses: actions/download-artifact@v2
|
384
|
-
with:
|
385
|
-
name: ${{ matrix.ruby }}-${{ matrix.rails }}-gem
|
386
|
-
- name: Install downloaded gem
|
387
|
-
run: gem install --local *.gem --verbose
|
388
|
-
- name: Run test mssql
|
389
|
-
run: bundle exec rake test:mssql
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -24,6 +24,10 @@ Layout/SpaceAroundEqualsInParameterDefault:
|
|
24
24
|
Layout/SpaceAroundOperators:
|
25
25
|
Enabled: true
|
26
26
|
|
27
|
+
Layout/SpaceInsideHashLiteralBraces:
|
28
|
+
Enabled: true
|
29
|
+
EnforcedStyle: no_space
|
30
|
+
|
27
31
|
Layout/TrailingEmptyLines:
|
28
32
|
Enabled: true
|
29
33
|
|
@@ -51,6 +55,10 @@ Style/EmptyElse:
|
|
51
55
|
Style/Encoding:
|
52
56
|
Enabled: true
|
53
57
|
|
58
|
+
Style/HashSyntax:
|
59
|
+
Enabled: true
|
60
|
+
EnforcedStyle: ruby19
|
61
|
+
|
54
62
|
Style/MethodCallWithArgsParentheses:
|
55
63
|
Enabled: false
|
56
64
|
|
@@ -60,9 +68,32 @@ Style/MethodCallWithoutArgsParentheses:
|
|
60
68
|
Style/NegatedIf:
|
61
69
|
Enabled: false
|
62
70
|
|
71
|
+
Style/NumericLiterals:
|
72
|
+
Enabled: true
|
73
|
+
|
74
|
+
Style/RedundantParentheses:
|
75
|
+
Enabled: true
|
76
|
+
|
77
|
+
Style/RedundantRegexpCharacterClass:
|
78
|
+
Enabled: true
|
79
|
+
|
80
|
+
Style/RedundantReturn:
|
81
|
+
Enabled: true
|
82
|
+
|
83
|
+
# Even when conservative, this is unsafe.
|
84
|
+
#Style/StringConcatenation:
|
85
|
+
# Enabled: true
|
86
|
+
# Mode: 'conservative'
|
87
|
+
|
63
88
|
Style/StringLiterals:
|
64
89
|
Enabled: true
|
65
90
|
|
91
|
+
Style/SymbolArray:
|
92
|
+
Enabled: true
|
93
|
+
|
94
|
+
Style/WordArray:
|
95
|
+
Enabled: true
|
96
|
+
|
66
97
|
# Performance cops have been transferred to rubocop-performance gem.
|
67
98
|
require: rubocop-performance
|
68
99
|
|
@@ -71,3 +102,9 @@ Performance/DoubleStartEndWith:
|
|
71
102
|
|
72
103
|
Performance/RedundantMerge:
|
73
104
|
Enabled: true
|
105
|
+
|
106
|
+
Performance/RegexpMatch:
|
107
|
+
Enabled: true
|
108
|
+
|
109
|
+
Performance/StringReplacement:
|
110
|
+
Enabled: true
|
data/Gemfile
CHANGED
@@ -12,10 +12,10 @@ group :development, :test do
|
|
12
12
|
gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
|
13
13
|
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
14
14
|
|
15
|
-
gem 'tiny_tds', '~> 2.1', require: false, platforms: [
|
16
|
-
gem 'activerecord-sqlserver-adapter', '~> 6.0', platforms: [
|
15
|
+
gem 'tiny_tds', '~> 2.1', require: false, platforms: %i[mri mingw x64_mingw mswin]
|
16
|
+
gem 'activerecord-sqlserver-adapter', '~> 6.0', platforms: %i[mri mingw x64_mingw mswin]
|
17
17
|
|
18
|
-
gem 'ruby-oci8', platforms: [
|
18
|
+
gem 'ruby-oci8', platforms: %i[mri mswin x64_mingw mingw]
|
19
19
|
gem 'activerecord-oracle_enhanced-adapter', '~> 1.6.0'
|
20
20
|
|
21
21
|
gem 'activesupport', '~> 6.0'
|
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Arel Extensions
|
2
2
|
|
3
3
|

|
4
|
+
[](https://ci.appveyor.com/project/yazfav/arel-extensions)
|
4
5
|
[](https://hakiri.io/github/Faveod/arel-extensions/master)
|
5
6
|

|
6
7
|
|
data/appveyor.yml
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
image: Visual Studio 2015
|
2
|
+
|
3
|
+
version: "{build}"
|
4
|
+
|
5
|
+
cache:
|
6
|
+
- vendor/bundle
|
7
|
+
|
8
|
+
environment:
|
9
|
+
matrix:
|
10
|
+
- RUBY_VERSION: 25-x64
|
11
|
+
RAILS: 5_2
|
12
|
+
SQL: MSSQL$SQL2012SP1
|
13
|
+
- RUBY_VERSION: 25-x64
|
14
|
+
RAILS: 5_2
|
15
|
+
SQL: MSSQL$SQL2014
|
16
|
+
- RUBY_VERSION: 25-x64
|
17
|
+
RAILS: 5_2
|
18
|
+
SQL: MSSQL$SQL2016
|
19
|
+
- RUBY_VERSION: 25-x64
|
20
|
+
RAILS: 6
|
21
|
+
SQL: MSSQL$SQL2012SP1
|
22
|
+
- RUBY_VERSION: 25-x64
|
23
|
+
RAILS: 6
|
24
|
+
SQL: MSSQL$SQL2014
|
25
|
+
- RUBY_VERSION: 25-x64
|
26
|
+
RAILS: 6
|
27
|
+
SQL: MSSQL$SQL2016
|
28
|
+
- RUBY_VERSION: 25-x64
|
29
|
+
RAILS: 6_1
|
30
|
+
SQL: MSSQL$SQL2012SP1
|
31
|
+
- RUBY_VERSION: 25-x64
|
32
|
+
RAILS: 6_1
|
33
|
+
SQL: MSSQL$SQL2014
|
34
|
+
- RUBY_VERSION: 25-x64
|
35
|
+
RAILS: 6_1
|
36
|
+
SQL: MSSQL$SQL2016
|
37
|
+
|
38
|
+
install:
|
39
|
+
- set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
|
40
|
+
- gem update --system
|
41
|
+
- gem install rubygems-update && update_rubygems
|
42
|
+
- bundle config --local path vendor/bundle
|
43
|
+
- cp ./gemfiles/rails%RAILS%.gemfile ./Gemfile
|
44
|
+
- bundle config set gemfile ./gemfiles/rails%RAILS%.gemfile
|
45
|
+
- bundle install
|
46
|
+
|
47
|
+
build: off
|
48
|
+
|
49
|
+
before_test:
|
50
|
+
- ruby -v
|
51
|
+
- gem -v
|
52
|
+
- bundle -v
|
53
|
+
|
54
|
+
test_script:
|
55
|
+
- ps: Get-Service '*SQL*'
|
56
|
+
- net start %SQL%
|
57
|
+
- bundle exec rake test:mssql
|
58
|
+
|
59
|
+
for:
|
60
|
+
-
|
61
|
+
matrix:
|
62
|
+
except:
|
63
|
+
- RAILS: 5_2
|
64
|
+
install:
|
65
|
+
- set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
|
66
|
+
- cp ./gemspecs/arel_extensions-v2.gemspec ./arel_extensions.gemspec
|
67
|
+
- cp ./version_v2.rb lib/arel_extensions/version.rb
|
68
|
+
- cp ./gemfiles/rails%RAILS%.gemfile ./Gemfile
|
69
|
+
- gem update --system
|
70
|
+
- gem install rubygems-update && update_rubygems
|
71
|
+
- bundle config --local path vendor/bundle
|
72
|
+
- bundle config set gemfile ./gemfiles/rails%RAILS%.gemfile
|
73
|
+
- bundle install
|
data/gemfiles/rails3.gemfile
CHANGED
@@ -3,10 +3,10 @@ source 'https://rubygems.org'
|
|
3
3
|
gem 'arel', '~> 3.0' # too old...
|
4
4
|
|
5
5
|
group :development, :test do
|
6
|
-
gem 'sqlite3', '<= 1.3.13', platform: [
|
7
|
-
gem 'mysql2', '0.4.10', platform: [
|
8
|
-
gem 'activerecord-mysql2-adapter', platform: [
|
9
|
-
gem 'pg', platform: [
|
6
|
+
gem 'sqlite3', '<= 1.3.13', platform: %i[ruby mswin mingw]
|
7
|
+
gem 'mysql2', '0.4.10', platform: %i[ruby mswin mingw]
|
8
|
+
gem 'activerecord-mysql2-adapter', platform: %i[ruby mswin mingw]
|
9
|
+
gem 'pg', platform: %i[ruby mswin mingw]
|
10
10
|
# for JRuby
|
11
11
|
gem 'jdbc-sqlite3', platform: :jruby
|
12
12
|
gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
|
@@ -17,4 +17,4 @@ group :development, :test do
|
|
17
17
|
gem 'activerecord', '~> 3.2'
|
18
18
|
end
|
19
19
|
|
20
|
-
gemspec path:
|
20
|
+
gemspec path: Dir.pwd
|
data/gemfiles/rails4.gemfile
CHANGED
@@ -7,14 +7,14 @@ group :development, :test do
|
|
7
7
|
gem 'activemodel', '~> 4.0'
|
8
8
|
gem 'activerecord', '~> 4.0'
|
9
9
|
|
10
|
-
gem 'sqlite3', '<= 1.3.13', platforms: [
|
11
|
-
gem 'mysql2', '0.4.10', platforms: [
|
12
|
-
gem 'pg', '< 1.0.0', platforms: [
|
10
|
+
gem 'sqlite3', '<= 1.3.13', platforms: %i[mri mswin mingw]
|
11
|
+
gem 'mysql2', '0.4.10', platforms: %i[mri mswin mingw]
|
12
|
+
gem 'pg', '< 1.0.0', platforms: %i[mri mingw]
|
13
13
|
|
14
|
-
gem 'tiny_tds', platforms: [
|
15
|
-
gem 'activerecord-sqlserver-adapter', '~> 4.2.0', platforms: [
|
14
|
+
gem 'tiny_tds', platforms: %i[mri mingw mswin] if RUBY_PLATFORM.match?(/windows/)
|
15
|
+
gem 'activerecord-sqlserver-adapter', '~> 4.2.0', platforms: %i[mri mingw mswin] if RUBY_PLATFORM.match?(/windows/)
|
16
16
|
|
17
|
-
gem 'ruby-oci8', platforms: [
|
17
|
+
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
18
18
|
gem 'activerecord-oracle_enhanced-adapter', '~> 1.6.0' if ENV.has_key? 'ORACLE_HOME'
|
19
19
|
|
20
20
|
# for JRuby
|
@@ -26,4 +26,4 @@ group :development, :test do
|
|
26
26
|
gem 'activerecord-jdbcmssql-adapter', platforms: :jruby
|
27
27
|
end
|
28
28
|
|
29
|
-
gemspec path:
|
29
|
+
gemspec path: Dir.pwd
|
data/gemfiles/rails5_0.gemfile
CHANGED
@@ -7,14 +7,14 @@ group :development, :test do
|
|
7
7
|
gem 'activemodel', '~> 5.0'
|
8
8
|
gem 'activerecord', '5.0.6'
|
9
9
|
|
10
|
-
gem 'sqlite3', '<= 1.3.13', platforms: [
|
11
|
-
gem 'mysql2', '0.4.10', platforms: [
|
12
|
-
gem 'pg', '< 1.0.0', platforms: [
|
10
|
+
gem 'sqlite3', '<= 1.3.13', platforms: %i[mri mswin mingw]
|
11
|
+
gem 'mysql2', '0.4.10', platforms: %i[mri mswin mingw]
|
12
|
+
gem 'pg', '< 1.0.0', platforms: %i[mri mingw]
|
13
13
|
|
14
|
-
gem 'tiny_tds', platforms: [
|
14
|
+
gem 'tiny_tds', platforms: %i[mri mingw] if RUBY_PLATFORM.match?(/windows/)
|
15
15
|
# gem "activerecord-sqlserver-adapter", platforms: [:mri, :mingw]
|
16
16
|
|
17
|
-
gem 'ruby-oci8', platforms: [
|
17
|
+
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
18
18
|
gem 'activerecord-oracle_enhanced-adapter', '~> 1.7' if ENV.has_key? 'ORACLE_HOME'
|
19
19
|
|
20
20
|
# for JRuby
|
@@ -26,4 +26,4 @@ group :development, :test do
|
|
26
26
|
gem 'activerecord-jdbcmssql-adapter', platforms: :jruby
|
27
27
|
end
|
28
28
|
|
29
|
-
gemspec path:
|
29
|
+
gemspec path: Dir.pwd
|
data/gemfiles/rails5_1_4.gemfile
CHANGED
@@ -8,14 +8,14 @@ group :development, :test do
|
|
8
8
|
gem 'activemodel', '5.1.4'
|
9
9
|
gem 'activerecord', '5.1.4'
|
10
10
|
|
11
|
-
gem 'sqlite3', '<= 1.3.13', platforms: [
|
12
|
-
gem 'mysql2', '0.4.10', platforms: [
|
13
|
-
gem 'pg', '< 1.0.0', platforms: [
|
11
|
+
gem 'sqlite3', '<= 1.3.13', platforms: %i[mri mswin mingw]
|
12
|
+
gem 'mysql2', '0.4.10', platforms: %i[mri mswin mingw]
|
13
|
+
gem 'pg', '< 1.0.0', platforms: %i[mri mingw]
|
14
14
|
|
15
|
-
gem 'tiny_tds', platforms: [
|
15
|
+
gem 'tiny_tds', platforms: %i[mri mingw] if RUBY_PLATFORM.match?(/windows/)
|
16
16
|
# gem "activerecord-sqlserver-adapter", platforms: [:mri, :mingw]
|
17
17
|
|
18
|
-
gem 'ruby-oci8', platforms: [
|
18
|
+
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
19
19
|
gem 'activerecord-oracle_enhanced-adapter', '~> 1.8' if ENV.has_key? 'ORACLE_HOME'
|
20
20
|
|
21
21
|
# for JRuby
|
@@ -27,4 +27,4 @@ group :development, :test do
|
|
27
27
|
gem 'activerecord-jdbcmssql-adapter', platforms: :jruby
|
28
28
|
end
|
29
29
|
|
30
|
-
gemspec path:
|
30
|
+
gemspec path: Dir.pwd
|
data/gemfiles/rails5_2.gemfile
CHANGED
@@ -4,7 +4,7 @@ gem 'rails', '~> 5.2.0'
|
|
4
4
|
gem 'arel', '~> 9'
|
5
5
|
|
6
6
|
group :development, :test do
|
7
|
-
gem 'bigdecimal', '1.3.5', platforms: [
|
7
|
+
gem 'bigdecimal', '1.3.5', platforms: %i[mri mingw x64_mingw mswin]
|
8
8
|
gem 'activesupport', '~> 5.2.0'
|
9
9
|
gem 'activemodel', '~> 5.2.0'
|
10
10
|
gem 'activerecord', '~> 5.2.0'
|
@@ -13,10 +13,11 @@ group :development, :test do
|
|
13
13
|
gem 'mysql2', '0.4.10', platforms: [:mri]
|
14
14
|
gem 'pg', '< 1.0.0', platforms: [:mri]
|
15
15
|
|
16
|
-
gem 'tiny_tds', platforms: [
|
17
|
-
gem 'activerecord-sqlserver-adapter', '~> 5.2', platforms: [
|
16
|
+
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
17
|
+
gem 'activerecord-sqlserver-adapter', '~> 5.2', platforms: %i[mri mingw x64_mingw mswin]
|
18
|
+
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
18
19
|
|
19
|
-
gem 'ruby-oci8', platforms: [
|
20
|
+
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
20
21
|
gem 'activerecord-oracle_enhanced-adapter', '~> 5.2.0' if ENV.has_key? 'ORACLE_HOME'
|
21
22
|
|
22
23
|
# for JRuby
|
@@ -28,4 +29,4 @@ group :development, :test do
|
|
28
29
|
gem 'activerecord-jdbcsqlserver-adapter', '~> 52.0', platforms: :jruby
|
29
30
|
end
|
30
31
|
|
31
|
-
gemspec path:
|
32
|
+
gemspec path: Dir.pwd
|
data/gemfiles/rails6.gemfile
CHANGED
@@ -12,10 +12,11 @@ group :development, :test do
|
|
12
12
|
gem 'mysql2', '0.5.2', platforms: [:mri]
|
13
13
|
gem 'pg', '< 1.0.0', platforms: [:mri]
|
14
14
|
|
15
|
-
gem 'tiny_tds', platforms: [
|
16
|
-
gem 'activerecord-sqlserver-adapter', '~> 6.0', platforms: [
|
15
|
+
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
16
|
+
gem 'activerecord-sqlserver-adapter', '~> 6.0', platforms: %i[mri mingw x64_mingw mswin]
|
17
|
+
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
17
18
|
|
18
|
-
gem 'ruby-oci8', platforms: [
|
19
|
+
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
19
20
|
gem 'activerecord-oracle_enhanced-adapter', '~> 6.0.0' if ENV.has_key? 'ORACLE_HOME'
|
20
21
|
|
21
22
|
# for JRuby
|
@@ -26,4 +27,4 @@ group :development, :test do
|
|
26
27
|
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
27
28
|
end
|
28
29
|
|
29
|
-
gemspec path:
|
30
|
+
gemspec path: Dir.pwd
|
data/gemfiles/rails6_1.gemfile
CHANGED
@@ -12,10 +12,11 @@ group :development, :test do
|
|
12
12
|
gem 'mysql2', '0.5.2', platforms: [:mri]
|
13
13
|
gem 'pg', '~> 1.1', platforms: [:mri]
|
14
14
|
|
15
|
-
gem 'tiny_tds', platforms: [
|
16
|
-
gem 'activerecord-sqlserver-adapter', '~> 6.1.0', platforms: [
|
15
|
+
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
16
|
+
gem 'activerecord-sqlserver-adapter', '~> 6.1.0', platforms: %i[mri mingw x64_mingw mswin]
|
17
|
+
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
17
18
|
|
18
|
-
gem 'ruby-oci8', platforms: [
|
19
|
+
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
19
20
|
gem 'activerecord-oracle_enhanced-adapter', '~> 6.0.0' if ENV.has_key? 'ORACLE_HOME'
|
20
21
|
|
21
22
|
# for JRuby
|
@@ -26,4 +27,4 @@ group :development, :test do
|
|
26
27
|
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
27
28
|
end
|
28
29
|
|
29
|
-
gemspec path:
|
30
|
+
gemspec path: Dir.pwd
|
data/gemfiles/rails7.gemfile
CHANGED
@@ -12,11 +12,12 @@ group :development, :test do
|
|
12
12
|
gem 'mysql2', '0.5.2', platforms: [:mri]
|
13
13
|
gem 'pg', '~> 1.1', platforms: [:mri]
|
14
14
|
|
15
|
-
gem 'tiny_tds', platforms: [
|
16
|
-
gem 'activerecord-sqlserver-adapter', '~> 7.0.0.0', platforms: [
|
15
|
+
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
16
|
+
gem 'activerecord-sqlserver-adapter', '~> 7.0.0.0', platforms: %i[mri mingw x64_mingw mswin]
|
17
|
+
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
17
18
|
|
18
|
-
gem 'ruby-oci8', platforms: [
|
19
|
+
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
19
20
|
gem 'activerecord-oracle_enhanced-adapter', '~> 6.0.0' if ENV.has_key? 'ORACLE_HOME'
|
20
21
|
end
|
21
22
|
|
22
|
-
gemspec path:
|
23
|
+
gemspec path: Dir.pwd
|
@@ -38,8 +38,8 @@ module ArelExtensions
|
|
38
38
|
|
39
39
|
def add_sql_functions(env_db = nil)
|
40
40
|
env_db ||= @cnx.adapter_name
|
41
|
-
env_db = 'mysql' if
|
42
|
-
if
|
41
|
+
env_db = 'mysql' if /mysql/i.match?(env_db)
|
42
|
+
if /sqlite/i.match?(env_db)
|
43
43
|
begin
|
44
44
|
add_sqlite_functions
|
45
45
|
rescue => e
|
@@ -17,11 +17,11 @@ module ArelExtensions
|
|
17
17
|
|
18
18
|
def self.column_of_via_arel_table(table_name, column_name)
|
19
19
|
Arel::Table.engine.connection.schema_cache.columns_hash(table_name)[column_name]
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
20
|
+
rescue NoMethodError
|
21
|
+
nil
|
22
|
+
rescue => e
|
23
|
+
warn("Warning: Unexpected exception caught while fetching column name for #{table_name}.#{column_name} in `column_of_via_arel_table`\n#{e.class}: #{e}")
|
24
|
+
nil
|
25
25
|
end
|
26
26
|
|
27
27
|
def self.column_of(table_name, column_name)
|
@@ -40,12 +40,12 @@ module ArelExtensions
|
|
40
40
|
column_of_via_arel_table(table_name, column_name)
|
41
41
|
end
|
42
42
|
end
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
43
|
+
rescue ActiveRecord::ConnectionNotEstablished
|
44
|
+
column_of_via_arel_table(table_name, column_name)
|
45
|
+
rescue ActiveRecord::StatementInvalid
|
46
|
+
nil
|
47
|
+
rescue => e
|
48
|
+
warn("Warning: Unexpected exception caught while fetching column name for #{table_name}.#{column_name} in `column_of`\n#{e.class}: #{e}")
|
49
|
+
nil
|
50
50
|
end
|
51
51
|
end
|