diff options
author | Alexander Sandström <mail+github@a16m.se> | 2023-05-07 21:10:23 +0200 |
---|---|---|
committer | Alexander Sandström <mail+github@a16m.se> | 2023-05-07 21:10:23 +0200 |
commit | 4ccd9506dd088dd47f561b4df145429b95d275d8 (patch) | |
tree | 6991e4363b7f9869f1d3d6af4165a48dfc7df625 | |
parent | c94ff01a4f665226d16693d37674bf003e9793b5 (diff) | |
download | ipaddress-4ccd9506dd088dd47f561b4df145429b95d275d8.tar.gz |
Remove Mongoid extensionmongoid
-rw-r--r-- | ipaddress.gemspec | 2 | ||||
-rw-r--r-- | lib/ipaddress.rb | 4 | ||||
-rw-r--r-- | lib/ipaddress/mongoid.rb | 75 | ||||
-rw-r--r-- | test/ipaddress/mongoid_test.rb | 70 |
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 |