From 0e1c6513a442737ab9ff757efec24a10cd2f947a Mon Sep 17 00:00:00 2001 From: Dan McClain Date: Tue, 8 May 2012 15:32:21 -0400 Subject: Removes NetAddr dependency --- .../active_record/connection_adapters/postgresql_adapter.rb | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'activerecord/lib') 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 -- cgit v1.2.3