diff options
author | Dan McClain <git@danseaver.com> | 2012-05-08 15:32:21 -0400 |
---|---|---|
committer | Dan McClain <git@danseaver.com> | 2012-05-08 15:32:21 -0400 |
commit | 0e1c6513a442737ab9ff757efec24a10cd2f947a (patch) | |
tree | 4416df910b8b6649351fa4bfd14dffeaf33323f2 /activerecord/lib | |
parent | c334175f0a83303c70cc272f7965284c79698dec (diff) | |
download | rails-0e1c6513a442737ab9ff757efec24a10cd2f947a.tar.gz rails-0e1c6513a442737ab9ff757efec24a10cd2f947a.tar.bz2 rails-0e1c6513a442737ab9ff757efec24a10cd2f947a.zip |
Removes NetAddr dependency
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb index 45149e69a6..6714970103 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb @@ -3,12 +3,13 @@ require 'active_support/core_ext/object/blank' require 'active_record/connection_adapters/statement_pool' require 'active_record/connection_adapters/postgresql/oid' require 'arel/visitors/bind_visitor' -require 'netaddr' # Make sure we're using pg high enough for PGResult#values gem 'pg', '~> 0.11' require 'pg' +require 'ipaddr' + module ActiveRecord module ConnectionHandling # Establishes a connection to the database that's used by all Active Record objects @@ -84,7 +85,7 @@ module ActiveRecord if string.nil? nil elsif String === string - NetAddr::CIDR.create(string) + IPAddr.new(string) else string end @@ -92,8 +93,8 @@ module ActiveRecord end def cidr_to_string(object) - if NetAddr::CIDR === object - object.to_s + if IPAddr === object + "#{object.to_s}/#{object.instance_variable_get(:@mask_addr).to_s(2).count('1')}" else object end @@ -549,7 +550,7 @@ module ActiveRecord when 'hstore' then super(PostgreSQLColumn.hstore_to_string(value), column) else super end - when NetAddr::CIDR, NetAddr::CIDRv4, NetAddr::CIDRv6 + when IPAddr case column.sql_type when 'inet', 'cidr' then super(PostgreSQLColumn.cidr_to_string(value), column) else super @@ -593,7 +594,7 @@ module ActiveRecord when Hash return super unless 'hstore' == column.sql_type PostgreSQLColumn.hstore_to_string(value) - when NetAddr::CIDR, NetAddr::CIDRv4, NetAddr::CIDRv6 + when IPAddr return super unless ['inet','cidr'].includes? column.sql_type PostgreSQLColumn.cidr_to_string(value) else |