arel_extensions 2.0.13 → 2.0.14

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.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +10 -10
  3. data/Rakefile +4 -4
  4. data/gemfiles/rails3.gemfile +9 -9
  5. data/gemfiles/rails4.gemfile +13 -13
  6. data/gemfiles/rails5_0.gemfile +13 -13
  7. data/gemfiles/rails5_1_4.gemfile +13 -13
  8. data/gemfiles/rails5_2.gemfile +13 -13
  9. data/gemfiles/rails6.gemfile +13 -13
  10. data/lib/arel_extensions.rb +2 -2
  11. data/lib/arel_extensions/attributes.rb +0 -0
  12. data/lib/arel_extensions/boolean_functions.rb +3 -7
  13. data/lib/arel_extensions/common_sql_functions.rb +0 -2
  14. data/lib/arel_extensions/comparators.rb +11 -14
  15. data/lib/arel_extensions/date_duration.rb +4 -5
  16. data/lib/arel_extensions/insert_manager.rb +16 -17
  17. data/lib/arel_extensions/math.rb +8 -9
  18. data/lib/arel_extensions/math_functions.rb +15 -17
  19. data/lib/arel_extensions/nodes/abs.rb +0 -1
  20. data/lib/arel_extensions/nodes/aggregate_function.rb +0 -1
  21. data/lib/arel_extensions/nodes/blank.rb +0 -1
  22. data/lib/arel_extensions/nodes/case.rb +3 -4
  23. data/lib/arel_extensions/nodes/cast.rb +0 -1
  24. data/lib/arel_extensions/nodes/ceil.rb +1 -1
  25. data/lib/arel_extensions/nodes/change_case.rb +0 -0
  26. data/lib/arel_extensions/nodes/coalesce.rb +0 -1
  27. data/lib/arel_extensions/nodes/collate.rb +0 -1
  28. data/lib/arel_extensions/nodes/concat.rb +1 -3
  29. data/lib/arel_extensions/nodes/date_diff.rb +4 -5
  30. data/lib/arel_extensions/nodes/duration.rb +0 -1
  31. data/lib/arel_extensions/nodes/find_in_set.rb +0 -1
  32. data/lib/arel_extensions/nodes/floor.rb +1 -1
  33. data/lib/arel_extensions/nodes/format.rb +1 -0
  34. data/lib/arel_extensions/nodes/formatted_number.rb +0 -1
  35. data/lib/arel_extensions/nodes/function.rb +2 -3
  36. data/lib/arel_extensions/nodes/is_null.rb +0 -0
  37. data/lib/arel_extensions/nodes/json.rb +0 -6
  38. data/lib/arel_extensions/nodes/length.rb +0 -1
  39. data/lib/arel_extensions/nodes/levenshtein_distance.rb +0 -0
  40. data/lib/arel_extensions/nodes/locate.rb +0 -1
  41. data/lib/arel_extensions/nodes/log10.rb +1 -2
  42. data/lib/arel_extensions/nodes/matches.rb +0 -2
  43. data/lib/arel_extensions/nodes/md5.rb +0 -1
  44. data/lib/arel_extensions/nodes/power.rb +0 -1
  45. data/lib/arel_extensions/nodes/rand.rb +0 -1
  46. data/lib/arel_extensions/nodes/repeat.rb +0 -2
  47. data/lib/arel_extensions/nodes/replace.rb +0 -2
  48. data/lib/arel_extensions/nodes/round.rb +0 -1
  49. data/lib/arel_extensions/nodes/soundex.rb +0 -1
  50. data/lib/arel_extensions/nodes/std.rb +0 -1
  51. data/lib/arel_extensions/nodes/substring.rb +0 -1
  52. data/lib/arel_extensions/nodes/sum.rb +0 -0
  53. data/lib/arel_extensions/nodes/then.rb +0 -0
  54. data/lib/arel_extensions/nodes/trim.rb +0 -2
  55. data/lib/arel_extensions/nodes/union.rb +0 -2
  56. data/lib/arel_extensions/nodes/union_all.rb +0 -2
  57. data/lib/arel_extensions/nodes/wday.rb +0 -4
  58. data/lib/arel_extensions/null_functions.rb +3 -5
  59. data/lib/arel_extensions/predications.rb +2 -3
  60. data/lib/arel_extensions/railtie.rb +5 -5
  61. data/lib/arel_extensions/set_functions.rb +0 -2
  62. data/lib/arel_extensions/string_functions.rb +21 -22
  63. data/lib/arel_extensions/tasks.rb +1 -1
  64. data/lib/arel_extensions/version.rb +1 -1
  65. data/lib/arel_extensions/visitors.rb +9 -7
  66. data/lib/arel_extensions/visitors/convert_format.rb +37 -0
  67. data/lib/arel_extensions/visitors/ibm_db.rb +4 -11
  68. data/lib/arel_extensions/visitors/mssql.rb +48 -44
  69. data/lib/arel_extensions/visitors/mysql.rb +63 -65
  70. data/lib/arel_extensions/visitors/oracle.rb +48 -55
  71. data/lib/arel_extensions/visitors/oracle12.rb +2 -3
  72. data/lib/arel_extensions/visitors/postgresql.rb +39 -34
  73. data/lib/arel_extensions/visitors/sqlite.rb +23 -18
  74. data/lib/arel_extensions/visitors/to_sql.rb +42 -44
  75. data/test/arelx_test_helper.rb +0 -2
  76. data/test/real_db_test.rb +26 -41
  77. data/test/support/fake_record.rb +1 -1
  78. data/test/test_comparators.rb +0 -4
  79. data/test/visitors/test_bulk_insert_oracle.rb +0 -1
  80. data/test/visitors/test_bulk_insert_sqlite.rb +0 -2
  81. data/test/visitors/test_oracle.rb +1 -2
  82. data/test/visitors/test_to_sql.rb +16 -25
  83. data/test/with_ar/all_agnostic_test.rb +134 -139
  84. data/test/with_ar/insert_agnostic_test.rb +0 -2
  85. data/test/with_ar/test_bulk_sqlite.rb +0 -4
  86. data/test/with_ar/test_math_sqlite.rb +4 -8
  87. data/test/with_ar/test_string_mysql.rb +1 -5
  88. data/test/with_ar/test_string_sqlite.rb +1 -5
  89. data/version_v1.rb +1 -1
  90. data/version_v2.rb +1 -1
  91. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f69d9fdada495e11cfeec3a495f78a0ecc180d536d05980f2f24439e0914a1ca
4
- data.tar.gz: 3aab9c95505f653ae46a9370f96ac24f17ed41702420a8b4d52ad388d22a5036
3
+ metadata.gz: a4f118abcbd3bf5aaaf8d51512eb48f83075366787cebb65df599b92adbd2b0a
4
+ data.tar.gz: 2293e1e93c270882e52381a80c77075a5bc64e69a8bfc2ef83e18ece41c21415
5
5
  SHA512:
6
- metadata.gz: '09a596eb908f4f68226569b98788f564f7b36f131b86ef782c9b6b8b79275cba4a853891312f2da29aee849c53da4fb67d399344a8cd4c0cafb2d182f5b6b97b'
7
- data.tar.gz: 52391fc97b2957e593429c1dd991926bdc58b6f9a611385329cae368f84f8aaacdb912723cd106d06f13558a79b14f83139bf0e6363681dc279a5ee34d94f110
6
+ metadata.gz: 4f138a33feefd3fca0172b101ef494053735b0d19496a04cb071de00cd986f3456c04b2389bc072b7ee4e66f9021fac3e377633760dbac1eae93f293663b053f
7
+ data.tar.gz: e9d608c7740de19dcaafb611db14596d096cc5cb6b0d294fa8166e0729aaf0b1ce723f33841bda14fdd54544fb6b099e381a0a8c8b2cfe85d22dbccdcd6f0e46
data/Gemfile CHANGED
@@ -3,19 +3,19 @@ source "https://rubygems.org"
3
3
  gemspec
4
4
 
5
5
  group :development, :test do
6
- gem "sqlite3", '<= 1.3.13', :platforms => [:mri, :mswin, :x64_mingw, :mingw]
7
- gem "mysql2", '0.4.10', :platforms => [:mri, :mswin, :x64_mingw, :mingw]
8
- gem "pg", '< 1', :platforms => [:mri, :mingw, :x64_mingw, :mswin]
6
+ gem "sqlite3", '<= 1.3.13', platforms: [:mri, :mswin, :x64_mingw, :mingw]
7
+ gem "mysql2", '0.4.10', platforms: [:mri, :mswin, :x64_mingw, :mingw]
8
+ gem "pg", '< 1', platforms: [:mri, :mingw, :x64_mingw, :mswin]
9
9
 
10
- gem "jdbc-sqlite3", :platforms => :jruby
11
- gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
12
- gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
13
- gem "activerecord-jdbcpostgresql-adapter", :platforms => :jruby
10
+ gem "jdbc-sqlite3", platforms: :jruby
11
+ gem "activerecord-jdbcsqlite3-adapter", platforms: :jruby
12
+ gem "activerecord-jdbcmysql-adapter", platforms: :jruby
13
+ gem "activerecord-jdbcpostgresql-adapter", platforms: :jruby
14
14
 
15
- gem "tiny_tds", '~> 1.3.0' ,:require => false, :platforms => [:mri,:mingw, :x64_mingw, :mswin]
16
- gem "activerecord-sqlserver-adapter", '~> 4.2.0', :platforms => [:mri, :mingw, :x64_mingw, :mswin]
15
+ gem "tiny_tds", '~> 1.3.0',require: false, platforms: [:mri,:mingw, :x64_mingw, :mswin]
16
+ gem "activerecord-sqlserver-adapter", '~> 4.2.0', platforms: [:mri, :mingw, :x64_mingw, :mswin]
17
17
 
18
- gem 'ruby-oci8', :platforms => [:mri, :mswin, :x64_mingw, :mingw]
18
+ gem 'ruby-oci8', platforms: [:mri, :mswin, :x64_mingw, :mingw]
19
19
  gem 'activerecord-oracle_enhanced-adapter', '~> 1.6.0'
20
20
 
21
21
  gem 'activesupport', '~> 4.0'
data/Rakefile CHANGED
@@ -1,10 +1,10 @@
1
1
  require 'bundler'
2
- Bundler::GemHelper.install_tasks :name => "arel_extensions"
2
+ Bundler::GemHelper.install_tasks name: "arel_extensions"
3
3
 
4
4
  require 'rake/testtask'
5
5
 
6
6
  desc "Default Task"
7
- task default: [ :test ]
7
+ task default: [:test]
8
8
 
9
9
  Rake::TestTask.new(:test) do |t|
10
10
  t.libs << 'lib'
@@ -38,8 +38,8 @@ end
38
38
  end
39
39
 
40
40
  namespace adapter do
41
- task :test => "test_#{adapter}"
42
- task :isolated_test => "isolated_test_#{adapter}"
41
+ task test: "test_#{adapter}"
42
+ task isolated_test: "isolated_test_#{adapter}"
43
43
 
44
44
  # Set the connection environment for the adapter
45
45
  task(:env) { ENV['DB'] = adapter }
@@ -3,18 +3,18 @@ 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 => [:ruby, :mswin, :mingw]
7
- gem "mysql2", '0.4.10', :platform => [:ruby, :mswin, :mingw]
8
- gem "activerecord-mysql2-adapter", :platform => [:ruby, :mswin, :mingw]
9
- gem "pg", :platform => [:ruby, :mswin, :mingw]
6
+ gem "sqlite3", '<= 1.3.13', platform: [:ruby, :mswin, :mingw]
7
+ gem "mysql2", '0.4.10', platform: [:ruby, :mswin, :mingw]
8
+ gem "activerecord-mysql2-adapter", platform: [:ruby, :mswin, :mingw]
9
+ gem "pg", platform: [:ruby, :mswin, :mingw]
10
10
  # for JRuby
11
- gem "jdbc-sqlite3", :platform => :jruby
12
- gem "activerecord-jdbcsqlite3-adapter", :platform => :jruby
13
- gem "activerecord-jdbcmysql-adapter", :platform => :jruby
14
- gem "activerecord-jdbcpostgresql-adapter", :platform => :jruby
11
+ gem "jdbc-sqlite3", platform: :jruby
12
+ gem "activerecord-jdbcsqlite3-adapter", platform: :jruby
13
+ gem "activerecord-jdbcmysql-adapter", platform: :jruby
14
+ gem "activerecord-jdbcpostgresql-adapter", platform: :jruby
15
15
  gem 'activesupport', '~> 3.2'
16
16
  gem 'activemodel', '~> 3.2'
17
17
  gem 'activerecord', '~> 3.2'
18
18
  end
19
19
 
20
- gemspec :path => "../"
20
+ gemspec path: "../"
@@ -7,23 +7,23 @@ 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 => [:mri, :mswin, :mingw]
11
- gem "mysql2", '0.4.10', :platforms => [:mri, :mswin, :mingw]
12
- gem "pg",'< 1.0.0', :platforms => [:mri, :mingw]
10
+ gem "sqlite3", '<= 1.3.13', platforms: [:mri, :mswin, :mingw]
11
+ gem "mysql2", '0.4.10', platforms: [:mri, :mswin, :mingw]
12
+ gem "pg",'< 1.0.0', platforms: [:mri, :mingw]
13
13
 
14
- gem "tiny_tds", :platforms => [:mri, :mingw, :mswin] if RUBY_PLATFORM =~ /windows/
15
- gem "activerecord-sqlserver-adapter", '~> 4.2.0', :platforms => [:mri, :mingw, :mswin] if RUBY_PLATFORM =~ /windows/
14
+ gem "tiny_tds", platforms: [:mri, :mingw, :mswin] if RUBY_PLATFORM =~ /windows/
15
+ gem "activerecord-sqlserver-adapter", '~> 4.2.0', platforms: [:mri, :mingw, :mswin] if RUBY_PLATFORM =~ /windows/
16
16
 
17
- gem 'ruby-oci8', :platforms => [:mri, :mswin, :mingw] if ENV.has_key? 'ORACLE_HOME'
17
+ gem 'ruby-oci8', platforms: [: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
21
- gem 'activerecord-jdbc-adapter', '~> 1.3' ,:platforms => :jruby
22
- gem "jdbc-sqlite3", :platforms => :jruby
23
- gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
24
- gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
25
- gem "activerecord-jdbcpostgresql-adapter", :platforms => :jruby
26
- gem "activerecord-jdbcmssql-adapter", :platforms => :jruby
21
+ gem 'activerecord-jdbc-adapter', '~> 1.3',platforms: :jruby
22
+ gem "jdbc-sqlite3", platforms: :jruby
23
+ gem "activerecord-jdbcsqlite3-adapter", platforms: :jruby
24
+ gem "activerecord-jdbcmysql-adapter", platforms: :jruby
25
+ gem "activerecord-jdbcpostgresql-adapter", platforms: :jruby
26
+ gem "activerecord-jdbcmssql-adapter", platforms: :jruby
27
27
  end
28
28
 
29
- gemspec :path => "../"
29
+ gemspec path: "../"
@@ -7,23 +7,23 @@ 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 => [:mri, :mswin, :mingw]
11
- gem "mysql2", '0.4.10', :platforms => [:mri, :mswin, :mingw]
12
- gem "pg",'< 1.0.0', :platforms => [:mri, :mingw]
10
+ gem "sqlite3", '<= 1.3.13', platforms: [:mri, :mswin, :mingw]
11
+ gem "mysql2", '0.4.10', platforms: [:mri, :mswin, :mingw]
12
+ gem "pg",'< 1.0.0', platforms: [:mri, :mingw]
13
13
 
14
- gem "tiny_tds", :platforms => [:mri, :mingw] if RUBY_PLATFORM =~ /windows/
15
- #gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw]
14
+ gem "tiny_tds", platforms: [:mri, :mingw] if RUBY_PLATFORM =~ /windows/
15
+ # gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw]
16
16
 
17
- gem 'ruby-oci8', :platforms => [:mri, :mswin, :mingw] if ENV.has_key? 'ORACLE_HOME'
17
+ gem 'ruby-oci8', platforms: [: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
21
- gem 'activerecord-jdbc-adapter', :github => 'jruby/activerecord-jdbc-adapter', :tag => 'v50.0', :platforms => :jruby
22
- gem "jdbc-sqlite3", :platforms => :jruby
23
- gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
24
- gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
25
- gem "activerecord-jdbcpostgresql-adapter", :platforms => :jruby
26
- gem "activerecord-jdbcmssql-adapter", :platforms => :jruby
21
+ gem 'activerecord-jdbc-adapter', github: 'jruby/activerecord-jdbc-adapter', tag: 'v50.0', platforms: :jruby
22
+ gem "jdbc-sqlite3", platforms: :jruby
23
+ gem "activerecord-jdbcsqlite3-adapter", platforms: :jruby
24
+ gem "activerecord-jdbcmysql-adapter", platforms: :jruby
25
+ gem "activerecord-jdbcpostgresql-adapter", platforms: :jruby
26
+ gem "activerecord-jdbcmssql-adapter", platforms: :jruby
27
27
  end
28
28
 
29
- gemspec :path => "../"
29
+ gemspec path: "../"
@@ -8,23 +8,23 @@ 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 => [:mri, :mswin, :mingw]
12
- gem "mysql2", '0.4.10', :platforms => [:mri, :mswin, :mingw]
13
- gem "pg",'< 1.0.0', :platforms => [:mri, :mingw]
11
+ gem "sqlite3", '<= 1.3.13', platforms: [:mri, :mswin, :mingw]
12
+ gem "mysql2", '0.4.10', platforms: [:mri, :mswin, :mingw]
13
+ gem "pg",'< 1.0.0', platforms: [:mri, :mingw]
14
14
 
15
- gem "tiny_tds", :platforms => [:mri, :mingw] if RUBY_PLATFORM =~ /windows/
16
- #gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw]
15
+ gem "tiny_tds", platforms: [:mri, :mingw] if RUBY_PLATFORM =~ /windows/
16
+ # gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw]
17
17
 
18
- gem 'ruby-oci8', :platforms => [:mri, :mswin, :mingw] if ENV.has_key? 'ORACLE_HOME'
18
+ gem 'ruby-oci8', platforms: [: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
22
- gem 'activerecord-jdbc-adapter', :github => 'jruby/activerecord-jdbc-adapter', :tag => 'v51.0', :platforms => :jruby
23
- gem "jdbc-sqlite3", :platforms => :jruby
24
- gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
25
- gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
26
- gem "activerecord-jdbcpostgresql-adapter", :platforms => :jruby
27
- gem "activerecord-jdbcmssql-adapter", :platforms => :jruby
22
+ gem 'activerecord-jdbc-adapter', github: 'jruby/activerecord-jdbc-adapter', tag: 'v51.0', platforms: :jruby
23
+ gem "jdbc-sqlite3", platforms: :jruby
24
+ gem "activerecord-jdbcsqlite3-adapter", platforms: :jruby
25
+ gem "activerecord-jdbcmysql-adapter", platforms: :jruby
26
+ gem "activerecord-jdbcpostgresql-adapter", platforms: :jruby
27
+ gem "activerecord-jdbcmssql-adapter", platforms: :jruby
28
28
  end
29
29
 
30
- gemspec :path => "../"
30
+ gemspec path: "../"
@@ -8,23 +8,23 @@ group :development, :test do
8
8
  gem 'activemodel', '~> 5.2.0'
9
9
  gem 'activerecord', '~> 5.2.0'
10
10
 
11
- gem "sqlite3", '<= 1.3.13', :platforms => [:mri, :mswin, :mingw]
12
- gem "mysql2", '0.4.10', :platforms => [:mri, :mswin, :mingw]
13
- gem "pg",'< 1.0.0', :platforms => [:mri, :mingw]
11
+ gem "sqlite3", '<= 1.3.13', platforms: [:mri, :mswin, :mingw]
12
+ gem "mysql2", '0.4.10', platforms: [:mri, :mswin, :mingw]
13
+ gem "pg",'< 1.0.0', platforms: [:mri, :mingw]
14
14
 
15
- gem "tiny_tds", :platforms => [:mri, :mingw] if RUBY_PLATFORM =~ /windows/
16
- #gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw]
15
+ gem "tiny_tds", platforms: [:mri, :mingw] if RUBY_PLATFORM =~ /windows/
16
+ # gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw]
17
17
 
18
- gem 'ruby-oci8', :platforms => [:mri, :mswin, :mingw] if ENV.has_key? 'ORACLE_HOME'
18
+ gem 'ruby-oci8', platforms: [:mri, :mswin, :mingw] if ENV.has_key? 'ORACLE_HOME'
19
19
  gem 'activerecord-oracle_enhanced-adapter', '~> 5.2.0' if ENV.has_key? 'ORACLE_HOME'
20
20
 
21
21
  # for JRuby
22
- gem 'activerecord-jdbc-adapter', :github => 'jruby/activerecord-jdbc-adapter', :tag => 'v52.0', :platforms => :jruby
23
- gem "jdbc-sqlite3", :platforms => :jruby
24
- gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
25
- gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
26
- gem "activerecord-jdbcpostgresql-adapter", :platforms => :jruby
27
- gem "activerecord-jdbcmssql-adapter", :platforms => :jruby
22
+ gem 'activerecord-jdbc-adapter', github: 'jruby/activerecord-jdbc-adapter', tag: 'v52.0', platforms: :jruby
23
+ gem "jdbc-sqlite3", platforms: :jruby
24
+ gem "activerecord-jdbcsqlite3-adapter", platforms: :jruby
25
+ gem "activerecord-jdbcmysql-adapter", platforms: :jruby
26
+ gem "activerecord-jdbcpostgresql-adapter", platforms: :jruby
27
+ gem "activerecord-jdbcmssql-adapter", platforms: :jruby
28
28
  end
29
29
 
30
- gemspec :path => "../"
30
+ gemspec path: "../"
@@ -8,23 +8,23 @@ group :development, :test do
8
8
  gem 'activemodel', '~> 6.0.0'
9
9
  gem 'activerecord', '~> 6.0.0'
10
10
 
11
- gem "sqlite3", '~> 1.4', :platforms => [:mri, :mswin, :mingw]
12
- gem "mysql2", '0.5.2', :platforms => [:mri, :mswin, :mingw]
13
- gem "pg",'< 1.0.0', :platforms => [:mri, :mingw]
11
+ gem "sqlite3", '~> 1.4', platforms: [:mri, :mswin, :mingw]
12
+ gem "mysql2", '0.5.2', platforms: [:mri, :mswin, :mingw]
13
+ gem "pg",'< 1.0.0', platforms: [:mri, :mingw]
14
14
 
15
- gem "tiny_tds", :platforms => [:mri, :mingw] if RUBY_PLATFORM =~ /windows/
16
- gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw]
15
+ gem "tiny_tds", platforms: [:mri, :mingw] if RUBY_PLATFORM =~ /windows/
16
+ gem "activerecord-sqlserver-adapter", platforms: [:mri, :mingw]
17
17
 
18
- gem 'ruby-oci8', :platforms => [:mri, :mswin, :mingw] if ENV.has_key? 'ORACLE_HOME'
18
+ gem 'ruby-oci8', platforms: [:mri, :mswin, :mingw] if ENV.has_key? 'ORACLE_HOME'
19
19
  gem 'activerecord-oracle_enhanced-adapter', '~> 6.0.0' if ENV.has_key? 'ORACLE_HOME'
20
20
 
21
21
  # for JRuby
22
- gem 'activerecord-jdbc-adapter', :platforms => :jruby
23
- gem "jdbc-sqlite3", :platforms => :jruby
24
- gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
25
- gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
26
- gem "activerecord-jdbcpostgresql-adapter", :platforms => :jruby
27
- gem "activerecord-jdbcmssql-adapter", :platforms => :jruby
22
+ gem 'activerecord-jdbc-adapter', platforms: :jruby
23
+ gem "jdbc-sqlite3", platforms: :jruby
24
+ gem "activerecord-jdbcsqlite3-adapter", platforms: :jruby
25
+ gem "activerecord-jdbcmysql-adapter", platforms: :jruby
26
+ gem "activerecord-jdbcpostgresql-adapter", platforms: :jruby
27
+ gem "activerecord-jdbcmssql-adapter", platforms: :jruby
28
28
  end
29
29
 
30
- gemspec :path => "../gemspec_v2/"
30
+ gemspec path: "../gemspec_v2/"
@@ -124,7 +124,7 @@ class Arel::Nodes::Function
124
124
  include ArelExtensions::NullFunctions
125
125
  include ArelExtensions::Predications
126
126
 
127
- alias_method :old_as, :as
127
+ alias_method(:old_as, :as) rescue nil
128
128
  def as other
129
129
  Arel::Nodes::As.new(self, Arel.sql(other))
130
130
  end
@@ -178,7 +178,7 @@ class Arel::Nodes::As
178
178
  end
179
179
 
180
180
  class Arel::Table
181
- alias_method :old_alias, :alias
181
+ alias_method(:old_alias, :alias) rescue nil
182
182
  def alias(name = "#{self.name}_2")
183
183
  name.blank? ? self : Arel::Nodes::TableAlias.new(self,name)
184
184
  end
File without changes
@@ -1,9 +1,9 @@
1
1
  # coding: utf-8
2
+
2
3
  require 'arel_extensions/nodes/then'
3
4
 
4
5
  module ArelExtensions
5
6
  module BooleanFunctions
6
-
7
7
  def ⋀(other)
8
8
  self.and(other)
9
9
  end
@@ -23,7 +23,6 @@ module ArelExtensions
23
23
  def then(t, f = nil)
24
24
  ArelExtensions::Nodes::Then.new [self, t, f]
25
25
  end
26
-
27
26
  end
28
27
  end
29
28
 
@@ -34,10 +33,9 @@ class Arel::Nodes::And
34
33
  children =
35
34
  children.flatten.map { |c|
36
35
  c.is_a?(self) ? c.children : c
37
- }.flatten
36
+ }.flatten
38
37
  super(children)
39
38
  end
40
-
41
39
  end
42
40
 
43
41
  # For some reason, Arel's And is properly defined as variadic (it
@@ -55,7 +53,7 @@ class Arel::Nodes::Or
55
53
  children =
56
54
  children.flatten.map { |c|
57
55
  c.is_a?(self) ? c.children : c
58
- }.flatten
56
+ }.flatten
59
57
  super(*children)
60
58
  end
61
59
 
@@ -68,7 +66,6 @@ class Arel::Nodes::Or
68
66
  @children = other.children.copy if other.children
69
67
  end
70
68
 
71
-
72
69
  def left
73
70
  children.first
74
71
  end
@@ -86,5 +83,4 @@ class Arel::Nodes::Or
86
83
  children == other.children
87
84
  end
88
85
  alias :== :eql?
89
-
90
86
  end
@@ -1,6 +1,5 @@
1
1
  module ArelExtensions
2
2
  class CommonSqlFunctions
3
-
4
3
  def initialize(cnx)
5
4
  @cnx = cnx
6
5
  if cnx && cnx.adapter_name =~ /sqlite/i && !$load_extension_disabled
@@ -62,6 +61,5 @@ module ArelExtensions
62
61
  end
63
62
  end
64
63
  end
65
-
66
64
  end
67
65
  end
@@ -1,7 +1,5 @@
1
1
  module ArelExtensions
2
2
  module Comparators
3
-
4
-
5
3
  def >(other)
6
4
  Arel::Nodes::GreaterThan.new self, Arel::Nodes.build_quoted(other, self)
7
5
  end
@@ -18,26 +16,26 @@ module ArelExtensions
18
16
  Arel::Nodes::LessThanOrEqual.new self, Arel::Nodes.build_quoted(other, self)
19
17
  end
20
18
 
21
-
22
- #REGEXP function
23
- #Pattern matching using regular expressions
19
+ # REGEXP function
20
+ # Pattern matching using regular expressions
24
21
  def =~(other)
25
- # arg = self.relation.engine.connection.schema_cache.columns_hash(self.relation.table_name)[self.name.to_s].type
26
- # if arg == :string || arg == :text
22
+ # arg = self.relation.engine.connection.schema_cache.columns_hash(self.relation.table_name)[self.name.to_s].type
23
+ # if arg == :string || arg == :text
27
24
  Arel::Nodes::Regexp.new self, convert_regexp(other)
28
- # end
25
+ # end
29
26
  end
30
27
 
31
- #NOT_REGEXP function
32
- #Negation of Regexp
28
+ # NOT_REGEXP function
29
+ # Negation of Regexp
33
30
  def !~(other)
34
- # arg = self.relation.engine.connection.schema_cache.columns_hash(self.relation.table_name)[self.name.to_s].type
35
- # if arg == :string || arg == :text
31
+ # arg = self.relation.engine.connection.schema_cache.columns_hash(self.relation.table_name)[self.name.to_s].type
32
+ # if arg == :string || arg == :text
36
33
  Arel::Nodes::NotRegexp.new self, convert_regexp(other)
37
- # end
34
+ # end
38
35
  end
39
36
 
40
37
  private
38
+
41
39
  # Function used for not_regexp.
42
40
  def convert_regexp(other)
43
41
  case other
@@ -56,6 +54,5 @@ module ArelExtensions
56
54
  end
57
55
  Arel::Nodes.build_quoted(other, self)
58
56
  end
59
-
60
57
  end
61
58
  end
@@ -4,22 +4,22 @@ require 'arel_extensions/nodes/wday'
4
4
 
5
5
  module ArelExtensions
6
6
  module DateDuration
7
- #function returns the year (as a number) given a date value.
7
+ # function returns the year (as a number) given a date value.
8
8
  def year
9
9
  ArelExtensions::Nodes::Duration.new "y", self
10
10
  end
11
11
 
12
- #function returns the month (as a number) given a date value.
12
+ # function returns the month (as a number) given a date value.
13
13
  def month
14
14
  ArelExtensions::Nodes::Duration.new "m", self
15
15
  end
16
16
 
17
- #function returns the week (as a number) given a date value.
17
+ # function returns the week (as a number) given a date value.
18
18
  def week
19
19
  ArelExtensions::Nodes::Duration.new "w", self
20
20
  end
21
21
 
22
- #function returns the month (as a number) given a date value.
22
+ # function returns the month (as a number) given a date value.
23
23
  def day
24
24
  ArelExtensions::Nodes::Duration.new "d", self
25
25
  end
@@ -43,6 +43,5 @@ module ArelExtensions
43
43
  def format(tpl)
44
44
  ArelExtensions::Nodes::Format.new [self, tpl]
45
45
  end
46
-
47
46
  end
48
47
  end