arel_extensions 1.2.17 → 1.2.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +10 -10
  3. data/Rakefile +4 -4
  4. data/arel_extensions.gemspec +1 -1
  5. data/gemfiles/rails3.gemfile +9 -9
  6. data/gemfiles/rails4.gemfile +13 -13
  7. data/gemfiles/rails5_0.gemfile +13 -13
  8. data/gemfiles/rails5_1_4.gemfile +13 -13
  9. data/gemfiles/rails5_2.gemfile +13 -13
  10. data/gemfiles/rails6.gemfile +13 -13
  11. data/lib/arel_extensions.rb +2 -2
  12. data/lib/arel_extensions/attributes.rb +0 -0
  13. data/lib/arel_extensions/boolean_functions.rb +3 -7
  14. data/lib/arel_extensions/common_sql_functions.rb +0 -2
  15. data/lib/arel_extensions/comparators.rb +11 -14
  16. data/lib/arel_extensions/date_duration.rb +4 -5
  17. data/lib/arel_extensions/insert_manager.rb +16 -17
  18. data/lib/arel_extensions/math.rb +8 -9
  19. data/lib/arel_extensions/math_functions.rb +15 -17
  20. data/lib/arel_extensions/nodes/abs.rb +0 -1
  21. data/lib/arel_extensions/nodes/aggregate_function.rb +0 -1
  22. data/lib/arel_extensions/nodes/blank.rb +0 -1
  23. data/lib/arel_extensions/nodes/case.rb +3 -4
  24. data/lib/arel_extensions/nodes/cast.rb +0 -1
  25. data/lib/arel_extensions/nodes/ceil.rb +1 -1
  26. data/lib/arel_extensions/nodes/change_case.rb +0 -0
  27. data/lib/arel_extensions/nodes/coalesce.rb +0 -1
  28. data/lib/arel_extensions/nodes/collate.rb +0 -1
  29. data/lib/arel_extensions/nodes/concat.rb +1 -3
  30. data/lib/arel_extensions/nodes/date_diff.rb +4 -5
  31. data/lib/arel_extensions/nodes/duration.rb +0 -1
  32. data/lib/arel_extensions/nodes/find_in_set.rb +0 -1
  33. data/lib/arel_extensions/nodes/floor.rb +1 -1
  34. data/lib/arel_extensions/nodes/format.rb +1 -0
  35. data/lib/arel_extensions/nodes/formatted_number.rb +0 -1
  36. data/lib/arel_extensions/nodes/function.rb +2 -3
  37. data/lib/arel_extensions/nodes/is_null.rb +0 -0
  38. data/lib/arel_extensions/nodes/json.rb +0 -6
  39. data/lib/arel_extensions/nodes/length.rb +0 -1
  40. data/lib/arel_extensions/nodes/levenshtein_distance.rb +0 -0
  41. data/lib/arel_extensions/nodes/locate.rb +0 -1
  42. data/lib/arel_extensions/nodes/log10.rb +1 -2
  43. data/lib/arel_extensions/nodes/matches.rb +0 -2
  44. data/lib/arel_extensions/nodes/md5.rb +0 -1
  45. data/lib/arel_extensions/nodes/power.rb +0 -1
  46. data/lib/arel_extensions/nodes/rand.rb +0 -1
  47. data/lib/arel_extensions/nodes/repeat.rb +0 -2
  48. data/lib/arel_extensions/nodes/replace.rb +0 -2
  49. data/lib/arel_extensions/nodes/round.rb +0 -1
  50. data/lib/arel_extensions/nodes/soundex.rb +0 -1
  51. data/lib/arel_extensions/nodes/std.rb +0 -1
  52. data/lib/arel_extensions/nodes/substring.rb +0 -1
  53. data/lib/arel_extensions/nodes/sum.rb +0 -0
  54. data/lib/arel_extensions/nodes/then.rb +0 -0
  55. data/lib/arel_extensions/nodes/trim.rb +0 -2
  56. data/lib/arel_extensions/nodes/union.rb +0 -2
  57. data/lib/arel_extensions/nodes/union_all.rb +0 -2
  58. data/lib/arel_extensions/nodes/wday.rb +0 -4
  59. data/lib/arel_extensions/null_functions.rb +3 -5
  60. data/lib/arel_extensions/predications.rb +2 -3
  61. data/lib/arel_extensions/railtie.rb +5 -5
  62. data/lib/arel_extensions/set_functions.rb +0 -2
  63. data/lib/arel_extensions/string_functions.rb +21 -22
  64. data/lib/arel_extensions/tasks.rb +1 -1
  65. data/lib/arel_extensions/version.rb +1 -1
  66. data/lib/arel_extensions/visitors.rb +68 -60
  67. data/lib/arel_extensions/visitors/convert_format.rb +37 -0
  68. data/lib/arel_extensions/visitors/ibm_db.rb +4 -11
  69. data/lib/arel_extensions/visitors/mssql.rb +49 -44
  70. data/lib/arel_extensions/visitors/mysql.rb +63 -65
  71. data/lib/arel_extensions/visitors/oracle.rb +48 -55
  72. data/lib/arel_extensions/visitors/oracle12.rb +2 -3
  73. data/lib/arel_extensions/visitors/postgresql.rb +39 -34
  74. data/lib/arel_extensions/visitors/sqlite.rb +23 -18
  75. data/lib/arel_extensions/visitors/to_sql.rb +42 -44
  76. data/test/arelx_test_helper.rb +0 -2
  77. data/test/real_db_test.rb +26 -41
  78. data/test/support/fake_record.rb +1 -1
  79. data/test/test_comparators.rb +0 -4
  80. data/test/visitors/test_bulk_insert_oracle.rb +0 -1
  81. data/test/visitors/test_bulk_insert_sqlite.rb +0 -2
  82. data/test/visitors/test_oracle.rb +1 -2
  83. data/test/visitors/test_to_sql.rb +16 -25
  84. data/test/with_ar/all_agnostic_test.rb +134 -139
  85. data/test/with_ar/insert_agnostic_test.rb +0 -2
  86. data/test/with_ar/test_bulk_sqlite.rb +0 -4
  87. data/test/with_ar/test_math_sqlite.rb +4 -8
  88. data/test/with_ar/test_string_mysql.rb +1 -5
  89. data/test/with_ar/test_string_sqlite.rb +1 -5
  90. data/version_v1.rb +1 -1
  91. data/version_v2.rb +1 -1
  92. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63535bd97d5c08485672454464e4fd96413ba4f5e7660dd45f008b113f6c92ef
4
- data.tar.gz: 1478ed16cc0a12b70198334394a456c43a33a480ab9d52786a1be75f11016d4a
3
+ metadata.gz: 8aa9a6b85c040899418d6aa0b3be8c745eccaa9a7f91ccd9c7696ba741e506af
4
+ data.tar.gz: 8a593bd6fe526d54c3b81e75621cc3045149410df842aae0357478b13f39abe7
5
5
  SHA512:
6
- metadata.gz: 0c862b43fb3b4f5758fa2454888bd5abbea6dc802cfb401ba5866fc9c3ce05de6aafb5db151b3a85ac63617fba2f773bb5230c5f0a2f4781a8c07ee521e70783
7
- data.tar.gz: 1114bf913a0e79a0ebf1a9c28c995e3eb428147615bc51861c55de322e0dc3c5968949dce4cf432c525e470fbfa9d49a6d3a371ccdf69fe602a8f2db608c1834
6
+ metadata.gz: 381a51239e6eb8ab5db7c64aecbb3b8595a80466c166064ed7d8e7b30a4b9fffc7b23acd2d1aa6871a9d7c5f65239b162fa1386c7a15b956f4d3786c44b4214d
7
+ data.tar.gz: e31d110fa811e4ca31085fdceeb8df319af19a87781eec92131550b68e3a84f3fe655d0b9cf71b9d6c89a2d6098b08910310893a199a9e0f41e2319dc297d6e0
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 }
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
20
20
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
21
  s.require_paths = ["lib"]
22
22
 
23
- s.add_dependency('arel', '>= 6.0')
23
+ s.add_dependency('activerecord', '>= 6.0')
24
24
 
25
25
  s.add_development_dependency('minitest', '~> 5.9')
26
26
  s.add_development_dependency('rdoc', '~> 4.0')
@@ -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