arel_extensions 2.4.0 → 2.5.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/.gitignore +2 -1
- data/.rubocop.yml +131 -5
- data/Makefile +31 -1
- data/NEWS.md +15 -0
- data/README.md +11 -2
- data/Rakefile +5 -3
- data/arel_extensions.gemspec +3 -5
- data/gemfiles/rails5.gemfile +15 -8
- data/gemfiles/rails5_1_4.gemfile +11 -9
- data/gemfiles/rails5_2.gemfile +16 -9
- data/gemfiles/rails6.gemfile +13 -7
- data/gemfiles/rails6_1.gemfile +13 -7
- data/gemfiles/rails7.gemfile +15 -9
- data/gemfiles/rails7_1.gemfile +15 -8
- data/gemfiles/rails7_2.gemfile +12 -6
- data/gemfiles/rails8.gemfile +7 -7
- data/gemfiles/rails8_1.gemfile +4 -4
- data/gemspecs/arel_extensions-v1.gemspec +3 -5
- data/gemspecs/arel_extensions-v2.gemspec +3 -5
- data/lib/arel_extensions/aliases.rb +3 -3
- data/lib/arel_extensions/attributes.rb +2 -0
- data/lib/arel_extensions/boolean_functions.rb +9 -7
- data/lib/arel_extensions/common_sql_functions.rb +5 -3
- data/lib/arel_extensions/comparators.rb +6 -4
- data/lib/arel_extensions/date_duration.rb +2 -0
- data/lib/arel_extensions/helpers.rb +17 -17
- data/lib/arel_extensions/insert_manager.rb +5 -1
- data/lib/arel_extensions/math.rb +40 -44
- data/lib/arel_extensions/math_functions.rb +28 -30
- data/lib/arel_extensions/nodes/aggregate_function.rb +4 -4
- data/lib/arel_extensions/nodes/blank.rb +6 -4
- data/lib/arel_extensions/nodes/case.rb +15 -12
- data/lib/arel_extensions/nodes/cast.rb +3 -5
- data/lib/arel_extensions/nodes/coalesce.rb +1 -1
- data/lib/arel_extensions/nodes/collate.rb +1 -1
- data/lib/arel_extensions/nodes/concat.rb +6 -6
- data/lib/arel_extensions/nodes/date_diff.rb +40 -49
- data/lib/arel_extensions/nodes/duration.rb +2 -2
- data/lib/arel_extensions/nodes/format.rb +2 -2
- data/lib/arel_extensions/nodes/formatted_date.rb +2 -2
- data/lib/arel_extensions/nodes/formatted_number.rb +2 -2
- data/lib/arel_extensions/nodes/function.rb +6 -4
- data/lib/arel_extensions/nodes/is_null.rb +2 -0
- data/lib/arel_extensions/nodes/json.rb +27 -15
- data/lib/arel_extensions/nodes/levenshtein_distance.rb +2 -2
- data/lib/arel_extensions/nodes/locate.rb +1 -1
- data/lib/arel_extensions/nodes/power.rb +2 -2
- data/lib/arel_extensions/nodes/rand.rb +2 -2
- data/lib/arel_extensions/nodes/repeat.rb +2 -2
- data/lib/arel_extensions/nodes/replace.rb +3 -3
- data/lib/arel_extensions/nodes/rollup.rb +4 -4
- data/lib/arel_extensions/nodes/round.rb +3 -3
- data/lib/arel_extensions/nodes/select.rb +1 -1
- data/lib/arel_extensions/nodes/std.rb +4 -4
- data/lib/arel_extensions/nodes/substring.rb +52 -2
- 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 +3 -3
- data/lib/arel_extensions/nodes/wday.rb +2 -2
- data/lib/arel_extensions/null_functions.rb +5 -7
- data/lib/arel_extensions/predications.rb +22 -18
- data/lib/arel_extensions/string_functions.rb +26 -27
- data/lib/arel_extensions/version.rb +3 -1
- data/lib/arel_extensions/visitors/convert_format.rb +2 -2
- data/lib/arel_extensions/visitors/ibm_db.rb +5 -5
- data/lib/arel_extensions/visitors/mssql.rb +91 -92
- data/lib/arel_extensions/visitors/mysql.rb +89 -69
- data/lib/arel_extensions/visitors/oracle.rb +100 -104
- data/lib/arel_extensions/visitors/oracle12.rb +5 -6
- data/lib/arel_extensions/visitors/postgresql.rb +107 -94
- data/lib/arel_extensions/visitors/sqlite.rb +57 -65
- data/lib/arel_extensions/visitors/to_sql.rb +84 -74
- data/lib/arel_extensions/visitors.rb +6 -6
- data/lib/arel_extensions/warning.rb +5 -5
- data/lib/arel_extensions.rb +34 -27
- data/test/real_db_test.rb +31 -31
- data/test/visitors/test_to_sql.rb +2 -2
- data/test/with_ar/all_agnostic_test.rb +149 -15
- data/version_v1.rb +3 -1
- data/version_v2.rb +3 -1
- metadata +2 -30
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8011def39987d0abeefe8d15fe5bcf63b98880fdf59d4f4e5eab80784b2d4542
|
|
4
|
+
data.tar.gz: 067fdf2a9dd1937f7c3e367fe5ebe40e9a6e2406f81128e1c9f4122c65f112b7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 02bb6e60b68f4d53376598a1a2da57eb620ac4e1bbcee1fc354e774780a1c3f220053dcb65f73914628721cbdd0e55473984fbdd2c17211316677b2b396731e7
|
|
7
|
+
data.tar.gz: 1d6e745c21a228465ebd78af1dd83828c85c7ae50230e35f4ab55c2c6c6667a4622c39aba820e0d2e11f8ae75aa161e24faa4d2991d120b16978bc50b8a7f3a4
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -2,9 +2,25 @@ plugins:
|
|
|
2
2
|
- rubocop-performance
|
|
3
3
|
|
|
4
4
|
AllCops:
|
|
5
|
-
|
|
5
|
+
NewCops: enable
|
|
6
|
+
TargetRubyVersion: 2.7
|
|
7
|
+
SuggestExtensions: false
|
|
8
|
+
# TODO: enable for tests.
|
|
6
9
|
Exclude:
|
|
7
|
-
-
|
|
10
|
+
- vendor/**/*
|
|
11
|
+
- dev/**/*
|
|
12
|
+
- test/**/*
|
|
13
|
+
|
|
14
|
+
# TODO: enable.
|
|
15
|
+
Gemspec/RequireMFA:
|
|
16
|
+
Enabled: false
|
|
17
|
+
|
|
18
|
+
# TODO: enable.
|
|
19
|
+
Gemspec/RequiredRubyVersion:
|
|
20
|
+
Enabled: false
|
|
21
|
+
|
|
22
|
+
Layout/ArgumentAlignment:
|
|
23
|
+
Enabled: false
|
|
8
24
|
|
|
9
25
|
Layout/EndOfLine:
|
|
10
26
|
Enabled: true
|
|
@@ -18,6 +34,9 @@ Layout/IndentationWidth:
|
|
|
18
34
|
Layout/LineLength:
|
|
19
35
|
Enabled: false
|
|
20
36
|
|
|
37
|
+
Layout/MultilineMethodCallIndentation:
|
|
38
|
+
EnforcedStyle: indented
|
|
39
|
+
|
|
21
40
|
Layout/SpaceAfterComma:
|
|
22
41
|
Enabled: true
|
|
23
42
|
|
|
@@ -31,15 +50,66 @@ Layout/SpaceInsideHashLiteralBraces:
|
|
|
31
50
|
Enabled: true
|
|
32
51
|
EnforcedStyle: no_space
|
|
33
52
|
|
|
53
|
+
Lint/BinaryOperatorWithIdenticalOperands:
|
|
54
|
+
Enabled: true
|
|
55
|
+
Exclude:
|
|
56
|
+
- test/with_ar/all_agnostic_test.rb
|
|
57
|
+
|
|
58
|
+
# TODO: should we enable it? It's complaining about things like (1*2+3)
|
|
59
|
+
Lint/AmbiguousOperatorPrecedence:
|
|
60
|
+
Enabled: false
|
|
61
|
+
|
|
34
62
|
Layout/TrailingEmptyLines:
|
|
35
63
|
Enabled: true
|
|
36
64
|
|
|
65
|
+
# TODO: enable.
|
|
66
|
+
Metrics/AbcSize:
|
|
67
|
+
Enabled: false
|
|
68
|
+
|
|
69
|
+
# TODO: enable.
|
|
37
70
|
Metrics/BlockLength:
|
|
38
71
|
Enabled: false
|
|
39
72
|
|
|
73
|
+
Metrics/BlockNesting:
|
|
74
|
+
Enabled: false
|
|
75
|
+
|
|
76
|
+
# TODO: enable.
|
|
77
|
+
Metrics/MethodLength:
|
|
78
|
+
Enabled: false
|
|
79
|
+
|
|
80
|
+
Metrics/ModuleLength:
|
|
81
|
+
Enabled: false
|
|
82
|
+
|
|
83
|
+
# TODO: enable.
|
|
84
|
+
Metrics/CyclomaticComplexity:
|
|
85
|
+
Enabled: false
|
|
86
|
+
|
|
87
|
+
# TODO: enable.
|
|
88
|
+
Metrics/PerceivedComplexity:
|
|
89
|
+
Enabled: false
|
|
90
|
+
|
|
91
|
+
Naming/AsciiIdentifiers:
|
|
92
|
+
Enabled: true
|
|
93
|
+
Exclude:
|
|
94
|
+
- lib/arel_extensions/boolean_functions.rb
|
|
95
|
+
|
|
96
|
+
Naming/MethodName:
|
|
97
|
+
Exclude:
|
|
98
|
+
- lib/arel_extensions/boolean_functions.rb
|
|
99
|
+
|
|
100
|
+
# TODO: enable.
|
|
101
|
+
Naming/MethodParameterName:
|
|
102
|
+
Enabled: false
|
|
103
|
+
|
|
40
104
|
Naming/FileName:
|
|
41
105
|
Enabled: true
|
|
42
106
|
|
|
107
|
+
Style/BlockDelimiters:
|
|
108
|
+
Enabled: false
|
|
109
|
+
|
|
110
|
+
Style/ClassAndModuleChildren:
|
|
111
|
+
Enabled: false
|
|
112
|
+
|
|
43
113
|
Style/CollectionMethods:
|
|
44
114
|
Enabled: true
|
|
45
115
|
|
|
@@ -52,12 +122,33 @@ Style/CommentAnnotation:
|
|
|
52
122
|
Style/ConditionalAssignment:
|
|
53
123
|
Enabled: true
|
|
54
124
|
|
|
125
|
+
# TODO: enable.
|
|
126
|
+
Style/Documentation:
|
|
127
|
+
Enabled: false
|
|
128
|
+
|
|
129
|
+
Style/EachWithObject:
|
|
130
|
+
Enabled: false
|
|
131
|
+
|
|
55
132
|
Style/EmptyElse:
|
|
56
133
|
Enabled: true
|
|
57
134
|
|
|
58
135
|
Style/Encoding:
|
|
59
136
|
Enabled: true
|
|
60
137
|
|
|
138
|
+
Style/FormatString:
|
|
139
|
+
Enabled: false
|
|
140
|
+
|
|
141
|
+
# TODO: enable.
|
|
142
|
+
Style/GlobalVars:
|
|
143
|
+
Enabled: false
|
|
144
|
+
|
|
145
|
+
# TODO: enable.
|
|
146
|
+
Style/GuardClause:
|
|
147
|
+
Enabled: false
|
|
148
|
+
|
|
149
|
+
Style/IfUnlessModifier:
|
|
150
|
+
Enabled: false
|
|
151
|
+
|
|
61
152
|
Style/HashSyntax:
|
|
62
153
|
Enabled: true
|
|
63
154
|
EnforcedStyle: ruby19
|
|
@@ -68,9 +159,23 @@ Style/MethodCallWithArgsParentheses:
|
|
|
68
159
|
Style/MethodCallWithoutArgsParentheses:
|
|
69
160
|
Enabled: true
|
|
70
161
|
|
|
162
|
+
Style/MultipleComparison:
|
|
163
|
+
Enabled: true
|
|
164
|
+
Exclude:
|
|
165
|
+
- lib/arel_extensions/boolean_functions.rb
|
|
166
|
+
|
|
71
167
|
Style/NegatedIf:
|
|
72
168
|
Enabled: false
|
|
73
169
|
|
|
170
|
+
Style/NegatedIfElseCondition:
|
|
171
|
+
Enabled: false
|
|
172
|
+
|
|
173
|
+
Style/NegatedWhile:
|
|
174
|
+
Enabled: false
|
|
175
|
+
|
|
176
|
+
Style/NestedTernary:
|
|
177
|
+
Enabled: false
|
|
178
|
+
|
|
74
179
|
Style/NumericLiterals:
|
|
75
180
|
Enabled: true
|
|
76
181
|
|
|
@@ -83,10 +188,19 @@ Style/RedundantRegexpCharacterClass:
|
|
|
83
188
|
Style/RedundantReturn:
|
|
84
189
|
Enabled: true
|
|
85
190
|
|
|
191
|
+
# TODO: enable.
|
|
192
|
+
# We have some `... rescue nil` going on, let's keep it this way for now.
|
|
193
|
+
Style/RescueModifier:
|
|
194
|
+
Enabled: false
|
|
195
|
+
|
|
86
196
|
# Even when conservative, this is unsafe.
|
|
87
|
-
#Style/StringConcatenation:
|
|
88
|
-
#
|
|
89
|
-
#
|
|
197
|
+
# Style/StringConcatenation:
|
|
198
|
+
# Enabled: true
|
|
199
|
+
# Mode: 'conservative'
|
|
200
|
+
|
|
201
|
+
# This detects User.at[:id] + '1' as string concatenation, so never enable.
|
|
202
|
+
Style/StringConcatenation:
|
|
203
|
+
Enabled: false
|
|
90
204
|
|
|
91
205
|
Style/StringLiterals:
|
|
92
206
|
Enabled: true
|
|
@@ -94,9 +208,21 @@ Style/StringLiterals:
|
|
|
94
208
|
Style/SymbolArray:
|
|
95
209
|
Enabled: true
|
|
96
210
|
|
|
211
|
+
Style/UnlessElse:
|
|
212
|
+
Enabled: false
|
|
213
|
+
|
|
214
|
+
Style/WhileUntilDo:
|
|
215
|
+
Enabled: false
|
|
216
|
+
|
|
97
217
|
Style/WordArray:
|
|
98
218
|
Enabled: true
|
|
99
219
|
|
|
220
|
+
Style/YodaCondition:
|
|
221
|
+
Enabled: false
|
|
222
|
+
|
|
223
|
+
# Performance cops have been transferred to rubocop-performance gem.
|
|
224
|
+
require: rubocop-performance
|
|
225
|
+
|
|
100
226
|
Performance/DoubleStartEndWith:
|
|
101
227
|
Enabled: true
|
|
102
228
|
|
data/Makefile
CHANGED
|
@@ -1,11 +1,38 @@
|
|
|
1
1
|
COMPOSE_FILE := dev/compose.yaml
|
|
2
2
|
DC := docker compose -f $(COMPOSE_FILE)
|
|
3
3
|
|
|
4
|
-
.PHONY: down rebuild shell up
|
|
4
|
+
.PHONY: all clean down install lint publish rebuild shell test up
|
|
5
|
+
|
|
6
|
+
all: clean install
|
|
7
|
+
|
|
8
|
+
clean:
|
|
9
|
+
rm -rf .bundle Gemfile.lock vendor
|
|
5
10
|
|
|
6
11
|
down:
|
|
7
12
|
$(DC) down
|
|
8
13
|
|
|
14
|
+
install:
|
|
15
|
+
bundle install
|
|
16
|
+
|
|
17
|
+
lint:
|
|
18
|
+
bundle exec rubocop --config .rubocop.yml --require rubocop-performance
|
|
19
|
+
|
|
20
|
+
lint-fix:
|
|
21
|
+
bundle exec rubocop --config .rubocop.yml -a
|
|
22
|
+
|
|
23
|
+
local-%:
|
|
24
|
+
@version="$*"; \
|
|
25
|
+
file="gemfiles/rails$${version//./_}.gemfile"; \
|
|
26
|
+
if [ ! -f "$$file" ]; then \
|
|
27
|
+
echo "No such Gemfile: $$file"; \
|
|
28
|
+
exit 1; \
|
|
29
|
+
fi; \
|
|
30
|
+
echo "Using $$file"; \
|
|
31
|
+
bundle config set --local gemfile "$$file"
|
|
32
|
+
|
|
33
|
+
publish:
|
|
34
|
+
./bin/publish
|
|
35
|
+
|
|
9
36
|
rebuild:
|
|
10
37
|
$(DC) build --no-cache
|
|
11
38
|
|
|
@@ -13,6 +40,9 @@ rebuild:
|
|
|
13
40
|
shell: up
|
|
14
41
|
$(DC) exec arelx bash
|
|
15
42
|
|
|
43
|
+
test:
|
|
44
|
+
bundle exec rake test
|
|
45
|
+
|
|
16
46
|
# Boot everything and keep it running (daemon mode)
|
|
17
47
|
up:
|
|
18
48
|
$(DC) up -d
|
data/NEWS.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
## [unreleased]
|
|
4
4
|
|
|
5
|
+
## Release v2.5.0/v1.7.0 (02-09-2026)
|
|
6
|
+
|
|
7
|
+
- Fix a typo preventing optimizer hints from being applied on SELECT in MySQL.
|
|
8
|
+
- Fix a bug (crash) in Group Concat of MSSQL.
|
|
9
|
+
- Fix a crash when building a JSON document from numeric literal values (e.g. `Arel.json(col => 1)`), on sqlite and mssql.
|
|
10
|
+
- MS SQL: string casts and MD5 input now use `varchar(MAX)`, so long strings are
|
|
11
|
+
no longer truncated at 30 characters (the default when only `varchar` is specified).
|
|
12
|
+
- PostgreSQL: JSON creation from non-JSON text now encodes it (`to_jsonb` instead of a
|
|
13
|
+
bare `::jsonb` cast), and `json.set(key, nil)` sets the JSON null member instead of the db's NULL.
|
|
14
|
+
- PostgreSQL: an empty JSON array (`Arel.json([])`) is now rendered as `'[]'::jsonb`
|
|
15
|
+
instead of `to_jsonb(array[])`.
|
|
16
|
+
- JSON: Booleans (`true`/`false`) are now supported as JSON values, whether as literals
|
|
17
|
+
(`Arel.json({ col => true })`) or boolean columns (`Arel.json({ col => bool_col })`).
|
|
18
|
+
- String slicing: the `[range..]` syntax, and calls to `substring` now behave exactly as in Ruby and MySQL, notably handling negative and beginless/endless indices.
|
|
19
|
+
|
|
5
20
|
## Release v2.4.0/v1.6.0 (23-12-2025)
|
|
6
21
|
|
|
7
22
|
- Drop supoprt for Ruby < 2.7.
|
data/README.md
CHANGED
|
@@ -345,7 +345,7 @@ User.connection.execute(insert_manager.to_sql)
|
|
|
345
345
|
<td class="ok">✔</td>
|
|
346
346
|
</tr>
|
|
347
347
|
<tr>
|
|
348
|
-
<th class="tg-ffjm" rowspan="
|
|
348
|
+
<th class="tg-ffjm" rowspan="21"><div>String functions</div></th>
|
|
349
349
|
<td class="tg-yw4l">CONCAT<br>column + "string"</td>
|
|
350
350
|
<td class="ok">✔</td>
|
|
351
351
|
<td class="ok">✔</td>
|
|
@@ -490,7 +490,7 @@ User.connection.execute(insert_manager.to_sql)
|
|
|
490
490
|
<td class="ok">✔</td>
|
|
491
491
|
</tr>
|
|
492
492
|
<tr>
|
|
493
|
-
<td class="tg-yw4l">SUBSTRING<br/>column
|
|
493
|
+
<td class="tg-yw4l">SUBSTRING (start/length)<br/>column.substring(1)<br/>column.substring(1, 1)<br/>column[1]<br/>column[0, 2]</td>
|
|
494
494
|
<td class="ok">✔</td>
|
|
495
495
|
<td class="tg-j6lv">SUBSTR()</td>
|
|
496
496
|
<td class="tg-j6lv">SUBSTR()</td>
|
|
@@ -498,6 +498,15 @@ User.connection.execute(insert_manager.to_sql)
|
|
|
498
498
|
<td class="ok">✔</td>
|
|
499
499
|
<td class="ok">✔</td>
|
|
500
500
|
</tr>
|
|
501
|
+
<tr>
|
|
502
|
+
<td class="tg-yw4l">SUBSTRING (Ruby range slicing)<br/>column[1..2]<br/>column[-2..]<br/>column[..2]<br/>⚠️ empty-string results read as NULL on Oracle</td>
|
|
503
|
+
<td class="ok">✔</td>
|
|
504
|
+
<td class="ok">✔</td>
|
|
505
|
+
<td class="ok">✔</td>
|
|
506
|
+
<td class="ok">✔</td>
|
|
507
|
+
<td class="ok">✔</td>
|
|
508
|
+
<td class="tg-j6lv">not implemented</td>
|
|
509
|
+
</tr>
|
|
501
510
|
<tr>
|
|
502
511
|
<td class="tg-yw4l">TRIM (leading)<br>column.trim("LEADING","M")</td>
|
|
503
512
|
<td class="ok">✔</td>
|
data/Rakefile
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'bundler'
|
|
2
4
|
Bundler::GemHelper.install_tasks name: 'arel_extensions'
|
|
3
5
|
|
|
@@ -51,7 +53,7 @@ end
|
|
|
51
53
|
|
|
52
54
|
# Useful shorthands.
|
|
53
55
|
namespace :test do
|
|
54
|
-
task :
|
|
55
|
-
task :
|
|
56
|
-
task :
|
|
56
|
+
task sql: :to_sql
|
|
57
|
+
task pg: :postgresql
|
|
58
|
+
task postgres: :postgresql
|
|
57
59
|
end
|
data/arel_extensions.gemspec
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
$LOAD_PATH.push File.expand_path('lib', __dir__)
|
|
2
4
|
require 'arel_extensions/version'
|
|
3
5
|
|
|
4
6
|
Gem::Specification.new do |s|
|
|
@@ -17,11 +19,7 @@ Gem::Specification.new do |s|
|
|
|
17
19
|
|
|
18
20
|
# Manifest
|
|
19
21
|
s.files = `git ls-files`.split("\n")
|
|
20
|
-
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
21
22
|
s.require_paths = ['lib']
|
|
22
23
|
|
|
23
24
|
s.add_dependency('activerecord', '>= 6.0')
|
|
24
|
-
|
|
25
|
-
s.add_development_dependency('minitest', '~> 5.9')
|
|
26
|
-
s.add_development_dependency('rake', '~> 12.3.3')
|
|
27
25
|
end
|
data/gemfiles/rails5.gemfile
CHANGED
|
@@ -1,29 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
source 'https://rubygems.org'
|
|
2
4
|
|
|
3
5
|
gem 'arel', '~> 7.0'
|
|
4
6
|
|
|
5
7
|
group :development, :test do
|
|
6
|
-
gem '
|
|
8
|
+
gem 'minitest', '~> 5.9'
|
|
9
|
+
gem 'rake', '~> 12.3.3'
|
|
10
|
+
gem 'rubocop'
|
|
11
|
+
gem 'rubocop-performance'
|
|
12
|
+
|
|
7
13
|
gem 'activemodel', '~> 5.0'
|
|
8
14
|
gem 'activerecord', '5.0.6'
|
|
15
|
+
gem 'activesupport', '~> 5.0'
|
|
9
16
|
|
|
10
|
-
gem 'sqlite3', '<= 1.3.13', platforms: %i[mri mswin mingw]
|
|
11
17
|
gem 'mysql2', '0.4.10', platforms: %i[mri mswin mingw]
|
|
12
18
|
gem 'pg', '< 1.0.0', platforms: %i[mri mingw]
|
|
19
|
+
gem 'sqlite3', '<= 1.3.13', platforms: %i[mri mswin mingw]
|
|
13
20
|
|
|
14
|
-
gem 'tiny_tds', platforms: %i[mri mingw] if RUBY_PLATFORM.
|
|
21
|
+
gem 'tiny_tds', platforms: %i[mri mingw] if RUBY_PLATFORM.include?('windows')
|
|
15
22
|
# gem "activerecord-sqlserver-adapter", platforms: [:mri, :mingw]
|
|
16
23
|
|
|
17
|
-
gem '
|
|
18
|
-
gem '
|
|
24
|
+
gem 'activerecord-oracle_enhanced-adapter', '~> 1.7' if ENV.key? 'ORACLE_HOME'
|
|
25
|
+
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.key? 'ORACLE_HOME'
|
|
19
26
|
|
|
20
27
|
# for JRuby
|
|
21
28
|
gem 'activerecord-jdbc-adapter', github: 'jruby/activerecord-jdbc-adapter', tag: 'v50.0', platforms: :jruby
|
|
22
|
-
gem '
|
|
23
|
-
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
29
|
+
gem 'activerecord-jdbcmssql-adapter', platforms: :jruby
|
|
24
30
|
gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
|
|
25
31
|
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
|
26
|
-
gem 'activerecord-
|
|
32
|
+
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
33
|
+
gem 'jdbc-sqlite3', platforms: :jruby
|
|
27
34
|
end
|
|
28
35
|
|
|
29
36
|
gemspec path: Dir.pwd
|
data/gemfiles/rails5_1_4.gemfile
CHANGED
|
@@ -1,30 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
source 'https://rubygems.org'
|
|
2
4
|
|
|
3
|
-
gem 'rails', '5.1.4'
|
|
4
5
|
gem 'arel', '~> 8'
|
|
6
|
+
gem 'rails', '5.1.4'
|
|
5
7
|
|
|
6
8
|
group :development, :test do
|
|
7
|
-
gem 'activesupport', '5.1.4'
|
|
8
9
|
gem 'activemodel', '5.1.4'
|
|
9
10
|
gem 'activerecord', '5.1.4'
|
|
11
|
+
gem 'activesupport', '5.1.4'
|
|
10
12
|
|
|
11
|
-
gem 'sqlite3', '<= 1.3.13', platforms: %i[mri mswin mingw]
|
|
12
13
|
gem 'mysql2', '0.4.10', platforms: %i[mri mswin mingw]
|
|
13
14
|
gem 'pg', '< 1.0.0', platforms: %i[mri mingw]
|
|
15
|
+
gem 'sqlite3', '<= 1.3.13', platforms: %i[mri mswin mingw]
|
|
14
16
|
|
|
15
|
-
gem 'tiny_tds', platforms: %i[mri mingw]
|
|
17
|
+
gem 'tiny_tds', platforms: %i[mri mingw] if RUBY_PLATFORM.include?('windows')
|
|
16
18
|
# gem "activerecord-sqlserver-adapter", platforms: [:mri, :mingw]
|
|
17
19
|
|
|
18
|
-
gem '
|
|
19
|
-
gem '
|
|
20
|
+
gem 'activerecord-oracle_enhanced-adapter', '~> 1.8' if ENV.key? 'ORACLE_HOME'
|
|
21
|
+
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.key? 'ORACLE_HOME'
|
|
20
22
|
|
|
21
23
|
# for JRuby
|
|
22
24
|
gem 'activerecord-jdbc-adapter', github: 'jruby/activerecord-jdbc-adapter', tag: 'v51.0', platforms: :jruby
|
|
23
|
-
gem '
|
|
24
|
-
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
25
|
+
gem 'activerecord-jdbcmssql-adapter', platforms: :jruby
|
|
25
26
|
gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
|
|
26
27
|
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
|
27
|
-
gem 'activerecord-
|
|
28
|
+
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
29
|
+
gem 'jdbc-sqlite3', platforms: :jruby
|
|
28
30
|
end
|
|
29
31
|
|
|
30
32
|
gemspec path: Dir.pwd
|
data/gemfiles/rails5_2.gemfile
CHANGED
|
@@ -1,32 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
source 'https://rubygems.org'
|
|
2
4
|
|
|
3
|
-
gem 'rails', '~> 5.2.0'
|
|
4
5
|
gem 'arel', '~> 9'
|
|
6
|
+
gem 'rails', '~> 5.2.0'
|
|
5
7
|
|
|
6
8
|
group :development, :test do
|
|
7
|
-
gem '
|
|
8
|
-
gem '
|
|
9
|
+
gem 'minitest', '~> 5.9'
|
|
10
|
+
gem 'rake', '~> 12.3.3'
|
|
11
|
+
gem 'rubocop'
|
|
12
|
+
gem 'rubocop-performance'
|
|
13
|
+
|
|
9
14
|
gem 'activemodel', '~> 5.2.0'
|
|
10
15
|
gem 'activerecord', '~> 5.2.0'
|
|
16
|
+
gem 'activesupport', '~> 5.2.0'
|
|
17
|
+
gem 'bigdecimal', '1.3.5', platforms: %i[mri mingw x64_mingw mswin]
|
|
11
18
|
|
|
12
|
-
gem 'sqlite3', '<= 1.3.13', platforms: [:mri]
|
|
13
19
|
gem 'mysql2', '0.4.10', platforms: [:mri]
|
|
14
20
|
gem 'pg', '< 1.0.0', platforms: [:mri]
|
|
21
|
+
gem 'sqlite3', '<= 1.3.13', platforms: [:mri]
|
|
15
22
|
|
|
16
|
-
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
17
23
|
gem 'activerecord-sqlserver-adapter', '~> 5.2', platforms: %i[mri mingw x64_mingw mswin]
|
|
24
|
+
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
18
25
|
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
|
19
26
|
|
|
20
|
-
gem '
|
|
21
|
-
gem '
|
|
27
|
+
gem 'activerecord-oracle_enhanced-adapter', '~> 5.2.0' if ENV.key? 'ORACLE_HOME'
|
|
28
|
+
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.key? 'ORACLE_HOME'
|
|
22
29
|
|
|
23
30
|
# for JRuby
|
|
24
31
|
gem 'activerecord-jdbc-adapter', github: 'jruby/activerecord-jdbc-adapter', tag: 'v52.7', platforms: :jruby
|
|
25
|
-
gem 'jdbc-sqlite3', platforms: :jruby
|
|
26
|
-
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
27
32
|
gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
|
|
28
33
|
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
|
34
|
+
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
29
35
|
gem 'activerecord-jdbcsqlserver-adapter', '~> 52.0', platforms: :jruby
|
|
36
|
+
gem 'jdbc-sqlite3', platforms: :jruby
|
|
30
37
|
end
|
|
31
38
|
|
|
32
39
|
gemspec path: Dir.pwd
|
data/gemfiles/rails6.gemfile
CHANGED
|
@@ -1,26 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
source 'https://rubygems.org'
|
|
2
4
|
|
|
3
5
|
gem 'rails', '~> 6.0.0'
|
|
4
6
|
|
|
5
7
|
group :development, :test do
|
|
6
|
-
gem 'ruby-lsp', platforms: %i[mri]
|
|
7
|
-
gem 'debug', platforms: %i[mri]
|
|
8
8
|
gem 'concurrent-ruby', '1.3.4' # Need to pin b/c of a known issue https://github.com/rails/rails/issues/54260
|
|
9
|
+
gem 'debug', platforms: %i[mri]
|
|
10
|
+
gem 'minitest', '~> 5.9'
|
|
11
|
+
gem 'rake', '~> 12.3.3'
|
|
12
|
+
gem 'rubocop'
|
|
13
|
+
gem 'rubocop-performance'
|
|
14
|
+
gem 'ruby-lsp', platforms: %i[mri]
|
|
9
15
|
|
|
10
|
-
gem 'activesupport', '~> 6.0.0'
|
|
11
16
|
gem 'activemodel', '~> 6.0.0'
|
|
12
17
|
gem 'activerecord', '~> 6.0.0'
|
|
18
|
+
gem 'activesupport', '~> 6.0.0'
|
|
13
19
|
|
|
14
|
-
gem 'sqlite3', '~> 1.4', platforms: [:mri]
|
|
15
20
|
gem 'mysql2', '0.5.2', platforms: [:mri]
|
|
16
21
|
gem 'pg', '< 1.0.0', platforms: [:mri]
|
|
22
|
+
gem 'sqlite3', '~> 1.4', platforms: [:mri]
|
|
17
23
|
|
|
18
|
-
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
19
24
|
gem 'activerecord-sqlserver-adapter', '~> 6.0', platforms: %i[mri mingw x64_mingw mswin]
|
|
25
|
+
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
20
26
|
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
|
21
27
|
|
|
22
|
-
gem '
|
|
23
|
-
gem '
|
|
28
|
+
gem 'activerecord-oracle_enhanced-adapter', '~> 6.0.0' if ENV.key? 'ORACLE_HOME'
|
|
29
|
+
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.key? 'ORACLE_HOME'
|
|
24
30
|
|
|
25
31
|
# for JRuby
|
|
26
32
|
gem 'activerecord-jdbc-alt-adapter', '~> 60.0', platform: :jruby, require: true
|
data/gemfiles/rails6_1.gemfile
CHANGED
|
@@ -1,26 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
source 'https://rubygems.org'
|
|
2
4
|
|
|
3
5
|
gem 'rails', '~> 6.1.0'
|
|
4
6
|
|
|
5
7
|
group :development, :test do
|
|
6
|
-
gem 'ruby-lsp', platforms: %i[mri]
|
|
7
|
-
gem 'debug', platforms: %i[mri]
|
|
8
8
|
gem 'concurrent-ruby', '1.3.4' # Need to pin b/c of a known issue https://github.com/rails/rails/issues/54260
|
|
9
|
+
gem 'debug', platforms: %i[mri]
|
|
10
|
+
gem 'minitest', '~> 5.9'
|
|
11
|
+
gem 'rake', '~> 12.3.3'
|
|
12
|
+
gem 'rubocop'
|
|
13
|
+
gem 'rubocop-performance'
|
|
14
|
+
gem 'ruby-lsp', platforms: %i[mri]
|
|
9
15
|
|
|
10
|
-
gem 'activesupport', '~> 6.1.0'
|
|
11
16
|
gem 'activemodel', '~> 6.1.0'
|
|
12
17
|
gem 'activerecord', '~> 6.1.0'
|
|
18
|
+
gem 'activesupport', '~> 6.1.0'
|
|
13
19
|
|
|
14
|
-
gem 'sqlite3', '~> 1.4', platforms: [:mri]
|
|
15
20
|
gem 'mysql2', '~>0.5', platforms: [:mri]
|
|
16
21
|
gem 'pg', '~> 1.1', platforms: [:mri]
|
|
22
|
+
gem 'sqlite3', '~> 1.4', platforms: [:mri]
|
|
17
23
|
|
|
18
|
-
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
19
24
|
gem 'activerecord-sqlserver-adapter', '~> 6.1.0', platforms: %i[mri mingw x64_mingw mswin]
|
|
25
|
+
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
20
26
|
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
|
21
27
|
|
|
22
|
-
gem '
|
|
23
|
-
gem '
|
|
28
|
+
gem 'activerecord-oracle_enhanced-adapter', '~> 6.0.0' if ENV.key? 'ORACLE_HOME'
|
|
29
|
+
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.key? 'ORACLE_HOME'
|
|
24
30
|
|
|
25
31
|
# for JRuby
|
|
26
32
|
gem 'activerecord-jdbc-alt-adapter', '~> 61.0', platform: :jruby, require: true
|
data/gemfiles/rails7.gemfile
CHANGED
|
@@ -1,34 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
source 'https://rubygems.org'
|
|
2
4
|
|
|
3
5
|
gem 'rails', '~> 7.0.1'
|
|
4
6
|
|
|
5
7
|
group :development, :test do
|
|
6
|
-
gem 'ruby-lsp', platforms: %i[mri]
|
|
7
|
-
gem 'debug', platforms: %i[mri]
|
|
8
8
|
gem 'concurrent-ruby', '1.3.4' # Need to pin b/c of a known issue https://github.com/rails/rails/issues/54260
|
|
9
|
+
gem 'debug', platforms: %i[mri]
|
|
10
|
+
gem 'minitest', '~> 5.9'
|
|
11
|
+
gem 'rake', '~> 12.3.3'
|
|
12
|
+
gem 'rubocop'
|
|
13
|
+
gem 'rubocop-performance'
|
|
14
|
+
gem 'ruby-lsp', platforms: %i[mri]
|
|
9
15
|
|
|
10
|
-
gem 'activesupport', '~> 7.0.1'
|
|
11
16
|
gem 'activemodel', '~> 7.0.1'
|
|
12
17
|
gem 'activerecord', '~> 7.0.1'
|
|
18
|
+
gem 'activesupport', '~> 7.0.1'
|
|
13
19
|
|
|
14
|
-
gem 'sqlite3', '~> 1.4', platforms: [:mri]
|
|
15
20
|
gem 'mysql2', '~>0.5', platforms: [:mri]
|
|
16
21
|
gem 'pg', '~> 1.1', platforms: [:mri]
|
|
22
|
+
gem 'sqlite3', '~> 1.4', platforms: [:mri]
|
|
17
23
|
|
|
18
|
-
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
19
24
|
gem 'activerecord-sqlserver-adapter', '~> 7.0.7', platforms: %i[mri mingw x64_mingw mswin]
|
|
25
|
+
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
20
26
|
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
|
21
27
|
|
|
22
|
-
gem '
|
|
23
|
-
gem '
|
|
28
|
+
gem 'activerecord-oracle_enhanced-adapter', '~> 6.0.0' if ENV.key? 'ORACLE_HOME'
|
|
29
|
+
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.key? 'ORACLE_HOME'
|
|
24
30
|
|
|
25
31
|
# for JRuby
|
|
26
|
-
gem 'jdbc-mssql', platforms: :jruby, require: true
|
|
27
|
-
gem 'jdbc-sqlite3', platform: :jruby
|
|
28
32
|
gem 'activerecord-jdbc-alt-adapter', '~> 70.0', platform: :jruby, require: true
|
|
29
33
|
gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
|
|
30
34
|
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
|
31
35
|
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
36
|
+
gem 'jdbc-mssql', platforms: :jruby, require: true
|
|
37
|
+
gem 'jdbc-sqlite3', platform: :jruby
|
|
32
38
|
|
|
33
39
|
# Ruby 3.4+ removes the following gems from the standard distribution.
|
|
34
40
|
# Warnings are emitted from 3.3 .
|