File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -173,8 +173,10 @@ def mask(prefixlen)
173
173
# p net1.include?(net4) #=> false
174
174
# p net4.include?(net1) #=> true
175
175
def include? ( other )
176
+ other = coerce_other ( other )
177
+ return false unless other . family == family
176
178
range = to_range
177
- other = coerce_other ( other ) . to_range
179
+ other = other . to_range
178
180
range . begin <= other . begin && range . end >= other . end
179
181
end
180
182
alias === include?
@@ -316,7 +318,9 @@ def ipv4_mapped
316
318
if !ipv4?
317
319
raise InvalidAddressError , "not an IPv4 address: #{ @addr } "
318
320
end
319
- return self . clone . set ( @addr | 0xffff00000000 , Socket ::AF_INET6 )
321
+ clone = self . clone . set ( @addr | 0xffff00000000 , Socket ::AF_INET6 )
322
+ clone . instance_variable_set ( :@mask_addr , @mask_addr | 0xffffffffffffffffffffffff00000000 )
323
+ clone
320
324
end
321
325
322
326
# Returns a new ipaddr built by converting the native IPv4 address
You can’t perform that action at this time.
0 commit comments