ipaddr-ext 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cf80589f0fb436a83b743951bda416d1797bcfed488cad15b26f40378f95df7b
4
- data.tar.gz: 6159ab041b42951c635bafc9b7feab379071d5044f9a03133ccd533a2b166e55
3
+ metadata.gz: 4fb5976cf49eb88720a9e1eb813f40f8ad390130f7095b5c9729368117ca37ad
4
+ data.tar.gz: 673d199fa8a14c42138accc2d9c39d3fc558f36781f38d311ad627f2618af8a4
5
5
  SHA512:
6
- metadata.gz: 6e8bcd61f275230ae3ec8937e11d4ef511e188b3487956c3058d50a30552c26afd5a84a4b6f08265b05c1a43d98aebeb8dcc0f70b54dc4cf8f5b6ad843c058db
7
- data.tar.gz: ee6b3b25223c78ac7823c13f7fa56c34a443f5d83170a6c0b5a2d52a1f872a72e9277681f80a6f6fcc3f5be7d873ebc5b986fcde427a22443c981ab713ba1ba9
6
+ metadata.gz: 4619358ca982d7d672f875b3c1dd590283056459fd6e13aa6b505587dfc42f0df4b757597c1ab17dc10cb70b184eebf93f8c98e9d22abcb6dc1c3e6eb562ef63
7
+ data.tar.gz: d10d7ac3cb147c017f3b31aecb1563b3b6a4cf9482037d93a0e6990258375cebb04b3bb126c35d877d5acbc2902f7bc8ba5b313fd6d18a4330dee01fe8e8857b
data/README.md CHANGED
@@ -58,6 +58,12 @@ ipaddr5.to_host.succ.to_s_with_prefix
58
58
  # to_json: export with prefix string
59
59
  IPAddr.new("3ffe:505:2::/64").to_json
60
60
  => "\"3ffe:505:2::/64\""
61
+
62
+ # ==: Fix to compare with address prefix
63
+ IPAddr.new("192.168.1.0/24") == IPAddr.new("192.168.1.0/24")
64
+ => true
65
+ IPAddr.new("192.168.1.0/24") == IPAddr.new("192.168.1.0/25")
66
+ => false # different behavior with pure IPAddr class
61
67
  ```
62
68
 
63
69
  ## Development
@@ -36,6 +36,16 @@ module IPAddrExt
36
36
  _to_string(mask)
37
37
  end
38
38
 
39
+ # Returns true if two ipaddrs are equal.
40
+ # Overwrite original == method, fixing to compare address with prefix
41
+ def ==(other)
42
+ other = coerce_other(other)
43
+ rescue
44
+ false
45
+ else
46
+ @family == other.family && @addr == other.to_i && prefix == other.prefix
47
+ end
48
+
39
49
  # Returns a address greater than the original address by offset
40
50
  # @param offset [Integer]
41
51
  def +(offset)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IPAddrExt
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.1"
5
5
  end
data/lib/ipaddr-ext.rb CHANGED
@@ -5,7 +5,7 @@ require "ipaddr-ext/version"
5
5
  require "ipaddr-ext/extensions"
6
6
  require "ipaddr-ext/json"
7
7
 
8
- IPAddr.send(:include, IPAddrExt::Extensions)
8
+ IPAddr.send(:prepend, IPAddrExt::Extensions)
9
9
 
10
10
  IPAddrExt::JSON.remove_as_json
11
11
  IPAddr.send(:include, IPAddrExt::JSON)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ipaddr-ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taketo Takashima
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-16 00:00:00.000000000 Z
11
+ date: 2024-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -78,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
78
  - !ruby/object:Gem::Version
79
79
  version: '0'
80
80
  requirements: []
81
- rubygems_version: 3.3.26
81
+ rubygems_version: 3.5.9
82
82
  signing_key:
83
83
  specification_version: 4
84
84
  summary: Extensions for IPAddr Class