arel_extensions 1.2.2 → 1.2.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.rubocop.yml +7 -4
- data/.travis.yml +59 -91
- data/Gemfile +2 -2
- data/README.md +17 -12
- data/Rakefile +38 -27
- data/appveyor.yml +1 -1
- data/arel_extensions.gemspec +1 -1
- data/functions.html +3 -3
- data/gemfiles/rails4.gemfile +1 -1
- data/gemfiles/rails6.gemfile +30 -0
- data/gemspec_v2/arel_extensions-v2.gemspec +28 -0
- data/generate_gems.sh +14 -0
- data/init/mssql.sql +4 -4
- data/init/mysql.sql +38 -38
- data/init/postgresql.sql +21 -21
- data/lib/arel_extensions.rb +63 -19
- data/lib/arel_extensions/attributes.rb +0 -1
- data/lib/arel_extensions/boolean_functions.rb +38 -13
- data/lib/arel_extensions/common_sql_functions.rb +5 -4
- data/lib/arel_extensions/comparators.rb +4 -2
- data/lib/arel_extensions/insert_manager.rb +26 -24
- data/lib/arel_extensions/math.rb +3 -3
- data/lib/arel_extensions/math_functions.rb +10 -5
- data/lib/arel_extensions/nodes.rb +1 -1
- data/lib/arel_extensions/nodes/abs.rb +0 -0
- data/lib/arel_extensions/nodes/aggregate_function.rb +14 -0
- data/lib/arel_extensions/nodes/blank.rb +14 -11
- data/lib/arel_extensions/nodes/case.rb +8 -4
- data/lib/arel_extensions/nodes/ceil.rb +0 -0
- data/lib/arel_extensions/nodes/change_case.rb +2 -2
- data/lib/arel_extensions/nodes/coalesce.rb +2 -2
- data/lib/arel_extensions/nodes/collate.rb +12 -12
- data/lib/arel_extensions/nodes/concat.rb +6 -13
- data/lib/arel_extensions/nodes/date_diff.rb +3 -5
- data/lib/arel_extensions/nodes/duration.rb +0 -2
- data/lib/arel_extensions/nodes/find_in_set.rb +0 -0
- data/lib/arel_extensions/nodes/floor.rb +0 -0
- data/lib/arel_extensions/nodes/format.rb +8 -8
- data/lib/arel_extensions/nodes/formatted_number.rb +23 -23
- data/lib/arel_extensions/nodes/function.rb +10 -0
- data/lib/arel_extensions/nodes/is_null.rb +10 -8
- data/lib/arel_extensions/nodes/json.rb +28 -30
- data/lib/arel_extensions/nodes/length.rb +0 -0
- data/lib/arel_extensions/nodes/levenshtein_distance.rb +5 -5
- data/lib/arel_extensions/nodes/locate.rb +7 -7
- data/lib/arel_extensions/nodes/matches.rb +4 -4
- data/lib/arel_extensions/nodes/power.rb +6 -5
- data/lib/arel_extensions/nodes/rand.rb +0 -0
- data/lib/arel_extensions/nodes/repeat.rb +2 -2
- data/lib/arel_extensions/nodes/replace.rb +24 -6
- data/lib/arel_extensions/nodes/round.rb +5 -5
- data/lib/arel_extensions/nodes/soundex.rb +16 -15
- data/lib/arel_extensions/nodes/std.rb +19 -21
- data/lib/arel_extensions/nodes/substring.rb +8 -15
- data/lib/arel_extensions/nodes/sum.rb +7 -0
- data/lib/arel_extensions/nodes/trim.rb +3 -3
- data/lib/arel_extensions/nodes/union.rb +2 -3
- data/lib/arel_extensions/nodes/union_all.rb +1 -2
- data/lib/arel_extensions/nodes/wday.rb +0 -0
- data/lib/arel_extensions/null_functions.rb +2 -2
- data/lib/arel_extensions/predications.rb +35 -33
- data/lib/arel_extensions/set_functions.rb +16 -16
- data/lib/arel_extensions/string_functions.rb +34 -12
- data/lib/arel_extensions/tasks.rb +5 -5
- data/lib/arel_extensions/version.rb +1 -1
- data/lib/arel_extensions/visitors.rb +1 -1
- data/lib/arel_extensions/visitors/ibm_db.rb +1 -1
- data/lib/arel_extensions/visitors/mssql.rb +18 -17
- data/lib/arel_extensions/visitors/mysql.rb +92 -46
- data/lib/arel_extensions/visitors/oracle.rb +40 -28
- data/lib/arel_extensions/visitors/oracle12.rb +1 -1
- data/lib/arel_extensions/visitors/postgresql.rb +80 -34
- data/lib/arel_extensions/visitors/sqlite.rb +54 -46
- data/lib/arel_extensions/visitors/to_sql.rb +75 -62
- data/test/arelx_test_helper.rb +28 -0
- data/test/real_db_test.rb +1 -1
- data/test/support/fake_record.rb +4 -0
- data/test/test_comparators.rb +9 -8
- data/test/visitors/test_bulk_insert_oracle.rb +8 -7
- data/test/visitors/test_bulk_insert_sqlite.rb +9 -8
- data/test/visitors/test_bulk_insert_to_sql.rb +8 -10
- data/test/visitors/test_oracle.rb +41 -40
- data/test/visitors/test_to_sql.rb +367 -193
- data/test/with_ar/all_agnostic_test.rb +85 -39
- data/test/with_ar/insert_agnostic_test.rb +3 -2
- data/test/with_ar/test_bulk_sqlite.rb +6 -5
- data/test/with_ar/test_math_sqlite.rb +4 -4
- data/test/with_ar/test_string_mysql.rb +4 -6
- data/test/with_ar/test_string_sqlite.rb +3 -7
- data/version_v1.rb +3 -0
- data/version_v2.rb +3 -0
- metadata +13 -7
- data/test/helper.rb +0 -18
data/version_v1.rb
ADDED
data/version_v2.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arel_extensions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yann Azoury
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2020-08-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: arel
|
@@ -60,14 +60,14 @@ dependencies:
|
|
60
60
|
requirements:
|
61
61
|
- - "~>"
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version:
|
63
|
+
version: 12.3.3
|
64
64
|
type: :development
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
70
|
+
version: 12.3.3
|
71
71
|
description: Adds new features to Arel
|
72
72
|
email:
|
73
73
|
- yann.azoury@faveod.com
|
@@ -104,6 +104,9 @@ files:
|
|
104
104
|
- gemfiles/rails5_0.gemfile
|
105
105
|
- gemfiles/rails5_1_4.gemfile
|
106
106
|
- gemfiles/rails5_2.gemfile
|
107
|
+
- gemfiles/rails6.gemfile
|
108
|
+
- gemspec_v2/arel_extensions-v2.gemspec
|
109
|
+
- generate_gems.sh
|
107
110
|
- init/mssql.sql
|
108
111
|
- init/mysql.sql
|
109
112
|
- init/oracle.sql
|
@@ -120,6 +123,7 @@ files:
|
|
120
123
|
- lib/arel_extensions/math_functions.rb
|
121
124
|
- lib/arel_extensions/nodes.rb
|
122
125
|
- lib/arel_extensions/nodes/abs.rb
|
126
|
+
- lib/arel_extensions/nodes/aggregate_function.rb
|
123
127
|
- lib/arel_extensions/nodes/blank.rb
|
124
128
|
- lib/arel_extensions/nodes/case.rb
|
125
129
|
- lib/arel_extensions/nodes/cast.rb
|
@@ -151,6 +155,7 @@ files:
|
|
151
155
|
- lib/arel_extensions/nodes/soundex.rb
|
152
156
|
- lib/arel_extensions/nodes/std.rb
|
153
157
|
- lib/arel_extensions/nodes/substring.rb
|
158
|
+
- lib/arel_extensions/nodes/sum.rb
|
154
159
|
- lib/arel_extensions/nodes/then.rb
|
155
160
|
- lib/arel_extensions/nodes/trim.rb
|
156
161
|
- lib/arel_extensions/nodes/union.rb
|
@@ -172,8 +177,8 @@ files:
|
|
172
177
|
- lib/arel_extensions/visitors/postgresql.rb
|
173
178
|
- lib/arel_extensions/visitors/sqlite.rb
|
174
179
|
- lib/arel_extensions/visitors/to_sql.rb
|
180
|
+
- test/arelx_test_helper.rb
|
175
181
|
- test/database.yml
|
176
|
-
- test/helper.rb
|
177
182
|
- test/real_db_test.rb
|
178
183
|
- test/support/alter_system_user_password.sql
|
179
184
|
- test/support/create_oracle_enhanced_users.sql
|
@@ -190,6 +195,8 @@ files:
|
|
190
195
|
- test/with_ar/test_math_sqlite.rb
|
191
196
|
- test/with_ar/test_string_mysql.rb
|
192
197
|
- test/with_ar/test_string_sqlite.rb
|
198
|
+
- version_v1.rb
|
199
|
+
- version_v2.rb
|
193
200
|
homepage: https://github.com/Faveod/arel-extensions
|
194
201
|
licenses:
|
195
202
|
- MIT
|
@@ -211,8 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
211
218
|
- !ruby/object:Gem::Version
|
212
219
|
version: '0'
|
213
220
|
requirements: []
|
214
|
-
|
215
|
-
rubygems_version: 2.5.2.3
|
221
|
+
rubygems_version: 3.0.2
|
216
222
|
signing_key:
|
217
223
|
specification_version: 4
|
218
224
|
summary: Extending Arel
|
data/test/helper.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'minitest/autorun'
|
3
|
-
require 'fileutils'
|
4
|
-
require 'arel'
|
5
|
-
require 'active_record'
|
6
|
-
|
7
|
-
require 'arel_extensions'
|
8
|
-
|
9
|
-
require 'support/fake_record'
|
10
|
-
Arel::Table.engine = FakeRecord::Base.new
|
11
|
-
|
12
|
-
$arel_silence_type_casting_deprecation = true
|
13
|
-
|
14
|
-
class Object
|
15
|
-
def must_be_like other
|
16
|
-
gsub(/\s+/, ' ').strip.must_equal other.gsub(/\s+/, ' ').strip
|
17
|
-
end
|
18
|
-
end
|