aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel
diff options
context:
space:
mode:
authoryui-knk <spiketeika@gmail.com>2016-05-30 00:39:56 +0900
committeryui-knk <spiketeika@gmail.com>2016-05-30 00:42:37 +0900
commitdc85a6e9c74942945ad696f5da4d82490a85b865 (patch)
tree95e9c32f6d58441529227b1904ef0efb61ed2eed /lib/arel
parentcff88eaa6b385f887c2e4d12342ddeb0651f1017 (diff)
downloadrails-dc85a6e9c74942945ad696f5da4d82490a85b865.tar.gz
rails-dc85a6e9c74942945ad696f5da4d82490a85b865.tar.bz2
rails-dc85a6e9c74942945ad696f5da4d82490a85b865.zip
Support for unified Integer class in Ruby 2.4+
Ruby 2.4 unifies Fixnum and Bignum into Integer: https://bugs.ruby-lang.org/issues/12005 Ruby ~2.3 `1234.class` is `Fixnum` and `123456789012345678901234567890.class` is `Bignum`. Ruby 2.4+ `1234.class` is `Integer` and `123456789012345678901234567890.class` is `Integer`. So what we should do is defining `visit_Integer` method to visitors.
Diffstat (limited to 'lib/arel')
-rw-r--r--lib/arel/visitors/depth_first.rb1
-rw-r--r--lib/arel/visitors/dot.rb1
-rw-r--r--lib/arel/visitors/to_sql.rb1
3 files changed, 3 insertions, 0 deletions
diff --git a/lib/arel/visitors/depth_first.rb b/lib/arel/visitors/depth_first.rb
index d38795e640..80b3c3c346 100644
--- a/lib/arel/visitors/depth_first.rb
+++ b/lib/arel/visitors/depth_first.rb
@@ -141,6 +141,7 @@ module Arel
alias :visit_FalseClass :terminal
alias :visit_Fixnum :terminal
alias :visit_Float :terminal
+ alias :visit_Integer :terminal
alias :visit_NilClass :terminal
alias :visit_String :terminal
alias :visit_Symbol :terminal
diff --git a/lib/arel/visitors/dot.rb b/lib/arel/visitors/dot.rb
index 95da652278..ca8d2b0bd0 100644
--- a/lib/arel/visitors/dot.rb
+++ b/lib/arel/visitors/dot.rb
@@ -205,6 +205,7 @@ module Arel
alias :visit_TrueClass :visit_String
alias :visit_FalseClass :visit_String
alias :visit_Arel_Nodes_BindParam :visit_String
+ alias :visit_Integer :visit_String
alias :visit_Fixnum :visit_String
alias :visit_BigDecimal :visit_String
alias :visit_Float :visit_String
diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb
index f2a3d5aa0c..97bade186a 100644
--- a/lib/arel/visitors/to_sql.rb
+++ b/lib/arel/visitors/to_sql.rb
@@ -762,6 +762,7 @@ module Arel
alias :visit_Arel_Nodes_SqlLiteral :literal
alias :visit_Bignum :literal
alias :visit_Fixnum :literal
+ alias :visit_Integer :literal
def quoted o, a
if a && a.able_to_type_cast?