diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2013-02-26 11:42:47 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2013-02-26 11:42:47 -0800 |
commit | ffeb7ddcffa6509f03721ba29ebf16e9be255795 (patch) | |
tree | f3750829f257eef2e2a31777f0af63591ac3796a /activerecord/lib | |
parent | 5112a6ccdfb930200d6d476f5e40bfe3d1a6ef33 (diff) | |
parent | 72a4670af1f0362868769a34fc8dd0323d5cf4df (diff) | |
download | rails-ffeb7ddcffa6509f03721ba29ebf16e9be255795.tar.gz rails-ffeb7ddcffa6509f03721ba29ebf16e9be255795.tar.bz2 rails-ffeb7ddcffa6509f03721ba29ebf16e9be255795.zip |
Merge pull request #8010 from subwindow/postgres_inet_default_fix
Fix default output for postgres network address types
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb index cc289d4a14..f587bf8140 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb @@ -1,3 +1,5 @@ +require 'ipaddr' + module ActiveRecord module ConnectionAdapters # :nodoc: # The goal of this module is to move Adapter specific column @@ -50,6 +52,15 @@ module ActiveRecord when Range # infinity dumps as Infinity, which causes uninitialized constant error value.inspect.gsub('Infinity', '::Float::INFINITY') + when IPAddr + subnet_mask = value.instance_variable_get(:@mask_addr) + + # If the subnet mask is equal to /32, don't output it + if subnet_mask == (2**32 - 1) + "\"#{value.to_s}\"" + else + "\"#{value.to_s}/#{subnet_mask.to_s(2).count('1')}\"" + end else value.inspect end |