summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Sandström <mail+github@a16m.se>2023-05-07 21:10:23 +0200
committerAlexander Sandström <mail+github@a16m.se>2023-05-07 21:10:23 +0200
commit4ccd9506dd088dd47f561b4df145429b95d275d8 (patch)
tree6991e4363b7f9869f1d3d6af4165a48dfc7df625
parentc94ff01a4f665226d16693d37674bf003e9793b5 (diff)
downloadipaddress-mongoid.tar.gz
Remove Mongoid extensionmongoid
-rw-r--r--ipaddress.gemspec2
-rw-r--r--lib/ipaddress.rb4
-rw-r--r--lib/ipaddress/mongoid.rb75
-rw-r--r--test/ipaddress/mongoid_test.rb70
4 files changed, 0 insertions, 151 deletions
diff --git a/ipaddress.gemspec b/ipaddress.gemspec
index 599c9bd..65c127d 100644
--- a/ipaddress.gemspec
+++ b/ipaddress.gemspec
@@ -34,13 +34,11 @@ Gem::Specification.new do |s|
"lib/ipaddress.rb",
"lib/ipaddress/ipv4.rb",
"lib/ipaddress/ipv6.rb",
- "lib/ipaddress/mongoid.rb",
"lib/ipaddress/prefix.rb",
"lib/ipaddress/version.rb",
"tasks/jeweler.rake",
"test/ipaddress/ipv4_test.rb",
"test/ipaddress/ipv6_test.rb",
- "test/ipaddress/mongoid_test.rb",
"test/ipaddress/prefix_test.rb",
"test/ipaddress_test.rb",
"test/test_helper.rb"
diff --git a/lib/ipaddress.rb b/lib/ipaddress.rb
index 96ac9f5..2f284aa 100644
--- a/lib/ipaddress.rb
+++ b/lib/ipaddress.rb
@@ -8,13 +8,9 @@
# Author:: Marco Ceresa <ceresa@ieee.org>
# License:: Ruby License
#
-#--
-#
-#++
require 'ipaddress/ipv4'
require 'ipaddress/ipv6'
-require 'ipaddress/mongoid' if defined?(Mongoid)
module IPAddress
diff --git a/lib/ipaddress/mongoid.rb b/lib/ipaddress/mongoid.rb
deleted file mode 100644
index 3af880a..0000000
--- a/lib/ipaddress/mongoid.rb
+++ /dev/null
@@ -1,75 +0,0 @@
-module IPAddress
-
- #
- # Mongoid field serialization
- #
- # IPAddress objects are converted to String
- #
- # IPAddress.mongoize IPAddress.parse("172.16.10.1")
- # #=> "172.16.10.1"
- #
- # Prefix will be removed from host adresses
- #
- # IPAddress.mongoize "172.16.10.1/32"
- # #=> "172.16.10.1"
- #
- # Prefix will be kept for network addresses
- #
- # IPAddress.mongoize "172.16.10.1/24"
- # #=> "172.16.10.1/24"
- #
- # IPv6 addresses will be stored uncompressed to ease DB search and sorting
- #
- # IPAddress.mongoize "2001:db8::8:800:200c:417a"
- # #=> "2001:0db8:0000:0000:0008:0800:200c:417a"
- # IPAddress.mongoize "2001:db8::8:800:200c:417a/64"
- # #=> "2001:0db8:0000:0000:0008:0800:200c:417a/64"
- #
- # Invalid addresses will be serialized as nil
- #
- # IPAddress.mongoize "invalid"
- # #=> nil
- # IPAddress.mongoize ""
- # #=> nil
- # IPAddress.mongoize 1
- # #=> nil
- # IPAddress.mongoize nil
- # #=> nil
- #
- def self.mongoize(ipaddress)
- ipaddress = self.parse(ipaddress) unless ipaddress.is_a?(IPAddress)
- if ipaddress.bits.length == ipaddress.prefix
- ipaddress.address
- elsif ipaddress.is_a?(IPAddress::IPv6)
- ipaddress.to_string_uncompressed
- else
- ipaddress.to_string
- end
- rescue ArgumentError
- nil
- end
-
- #
- # Mongoid field deserialization
- #
- def self.demongoize(string)
- parse(string)
- rescue ArgumentError
- nil
- end
-
- #
- # Delegates to IPAddress.mongoize
- #
- def self.evolve(ipaddress)
- mongoize(ipaddress)
- end
-
- #
- # Sends self object to IPAddress#mongoize
- #
- def mongoize
- IPAddress.mongoize(self)
- end
-
-end \ No newline at end of file
diff --git a/test/ipaddress/mongoid_test.rb b/test/ipaddress/mongoid_test.rb
deleted file mode 100644
index 4f32093..0000000
--- a/test/ipaddress/mongoid_test.rb
+++ /dev/null
@@ -1,70 +0,0 @@
-require 'test_helper'
-require 'ipaddress/mongoid'
-
-class MongoidTest < Minitest::Test
-
- def setup
- @valid_host4 = "172.16.10.1"
- @valid_host6 = "2001:0db8:0000:0000:0008:0800:200c:417a"
- @valid_host6_compressed = IPAddress::IPv6.compress(@valid_host6)
- @valid_network4 = "#{@valid_host4}/24"
- @valid_network6 = "#{@valid_host6}/96"
- @valid_network6_compressed = "#{@valid_host6_compressed}/96"
- @host4 = IPAddress.parse(@valid_host4)
- @host6 = IPAddress.parse(@valid_host6)
- @network4 = IPAddress.parse(@valid_network4)
- @network6 = IPAddress.parse(@valid_network6)
- @invalid_values = [nil, "", "invalid"]
- end
-
- def test_mongoize
- # Instance method should be delegated to class method
- assert_equal @host4.mongoize, IPAddress.mongoize(@host4)
- assert_equal @network4.mongoize, IPAddress.mongoize(@network4)
-
- # Hosts addresses should be stored without prefix
- assert_equal @valid_host4, IPAddress.mongoize(@host4)
- assert_equal @valid_host6, IPAddress.mongoize(@host6)
- assert_equal @valid_host4, IPAddress.mongoize("#{@host4}/32")
- assert_equal @valid_host6, IPAddress.mongoize("#{@host6}/128")
-
- # Network addresses should be stored with their prefix
- assert_equal @valid_network4, IPAddress.mongoize(@network4)
- assert_equal @valid_network6, IPAddress.mongoize(@network6)
-
- # IPv6 addresses should always be stored uncompressed
- assert_equal @valid_host6, IPAddress.mongoize(@valid_host6_compressed)
- assert_equal @valid_network6, IPAddress.mongoize(@valid_network6_compressed)
-
- @invalid_values.each do |invalid_value|
- # Invalid addresses should serialize to nil
- assert_nil IPAddress.mongoize(invalid_value)
- end
- end
-
- def test_demongoize
- # Valid stored values should be loaded with expected IPAddress type
- assert_instance_of IPAddress::IPv4, IPAddress.demongoize(@valid_host4)
- assert_instance_of IPAddress::IPv6, IPAddress.demongoize(@valid_host6)
- assert_instance_of IPAddress::IPv4, IPAddress.demongoize(@valid_network4)
- assert_instance_of IPAddress::IPv6, IPAddress.demongoize(@valid_network6)
-
- # Valid stored values should be loaded as the original IPAddress object
- assert_equal @host4, IPAddress.demongoize(@valid_host4)
- assert_equal @host6, IPAddress.demongoize(@valid_host6)
- assert_equal @network4, IPAddress.demongoize(@valid_network4)
- assert_equal @network6, IPAddress.demongoize(@valid_network6)
-
- @invalid_values.each do |invalid_value|
- # Invalid stored value should be loaded as nil
- assert_nil IPAddress.demongoize(invalid_value)
- end
- end
-
- def test_evolve
- # evolve should delegate to mongoize
- assert_equal IPAddress.mongoize(@valid_host4), IPAddress.evolve(@valid_host4)
- assert_equal IPAddress.mongoize(@valid_network4), IPAddress.evolve(@valid_network4)
- end
-
-end