diff options
author | yui-knk <spiketeika@gmail.com> | 2016-05-30 00:39:56 +0900 |
---|---|---|
committer | yui-knk <spiketeika@gmail.com> | 2016-05-30 00:42:37 +0900 |
commit | dc85a6e9c74942945ad696f5da4d82490a85b865 (patch) | |
tree | 95e9c32f6d58441529227b1904ef0efb61ed2eed | |
parent | cff88eaa6b385f887c2e4d12342ddeb0651f1017 (diff) | |
download | rails-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.
-rw-r--r-- | lib/arel/visitors/depth_first.rb | 1 | ||||
-rw-r--r-- | lib/arel/visitors/dot.rb | 1 | ||||
-rw-r--r-- | lib/arel/visitors/to_sql.rb | 1 |
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? |