aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/type/integer.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2014-11-27 10:06:49 +0900
committerRyuta Kamizono <kamipo@gmail.com>2014-12-12 00:35:48 +0900
commitb61a93b44e11046cc28605a8b4d2d17fe89927fd (patch)
tree7d1637c5fecfdca42f2edd32d1aa154f5aa8b04b /activerecord/lib/active_record/type/integer.rb
parent6961afefd2f163f30b9ae3aacb74b290287f9a80 (diff)
downloadrails-b61a93b44e11046cc28605a8b4d2d17fe89927fd.tar.gz
rails-b61a93b44e11046cc28605a8b4d2d17fe89927fd.tar.bz2
rails-b61a93b44e11046cc28605a8b4d2d17fe89927fd.zip
Fix undesirable RangeError by Type::Integer. Add Type::UnsignedInteger.
Diffstat (limited to 'activerecord/lib/active_record/type/integer.rb')
-rw-r--r--activerecord/lib/active_record/type/integer.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/type/integer.rb b/activerecord/lib/active_record/type/integer.rb
index 750f353472..fc260a081a 100644
--- a/activerecord/lib/active_record/type/integer.rb
+++ b/activerecord/lib/active_record/type/integer.rb
@@ -5,7 +5,7 @@ module ActiveRecord
def initialize(*)
super
- @range = -max_value...max_value
+ @range = min_value...max_value
end
def type
@@ -46,6 +46,10 @@ module ActiveRecord
limit = self.limit || 4
1 << (limit * 8 - 1) # 8 bits per byte with one bit for sign
end
+
+ def min_value
+ -max_value
+ end
end
end
end