ipaccess 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/ipaccess/ip_access.rb +1 -0
- data/lib/ipaccess/ip_access_list.rb +8 -7
- data/lib/ipaccess/socket.rb +2 -0
- data/spec/ip_access_list_spec.rb +13 -0
- metadata +2 -1
data/lib/ipaccess/ip_access.rb
CHANGED
@@ -20,7 +20,6 @@
|
|
20
20
|
#
|
21
21
|
#++
|
22
22
|
|
23
|
-
require 'ipaddr'
|
24
23
|
require 'socket'
|
25
24
|
require 'resolv'
|
26
25
|
require 'netaddr'
|
@@ -255,9 +254,6 @@ class IPAccessList < NetAddr::Tree
|
|
255
254
|
# number - immediate generation
|
256
255
|
return [NetAddr::CIDR.create(obj)] if obj.is_a?(Numeric)
|
257
256
|
|
258
|
-
# IPAddr - fetch IP/mask string
|
259
|
-
obj = obj.native.inspect.split[1].chomp('>')[5..-1] if obj.is_a?(IPAddr)
|
260
|
-
|
261
257
|
# object containing socket member (e.g. Net::HTTP) - fetch socket
|
262
258
|
if obj.respond_to?(:socket)
|
263
259
|
obj = obj.socket
|
@@ -345,7 +341,7 @@ class IPAccessList < NetAddr::Tree
|
|
345
341
|
:reserved,
|
346
342
|
:multicast)
|
347
343
|
else
|
348
|
-
raise ArgumentError, "
|
344
|
+
raise ArgumentError, "provided symbol is unknown: #{obj.to_s}"
|
349
345
|
end
|
350
346
|
return obj.map { |addr| NetAddr::CIDR.create(addr) } if obj.is_a?(Array)
|
351
347
|
end
|
@@ -353,8 +349,13 @@ class IPAccessList < NetAddr::Tree
|
|
353
349
|
# URI or something that responds to host method - fetch string
|
354
350
|
obj = obj.host if obj.respond_to?(:host)
|
355
351
|
|
356
|
-
#
|
357
|
-
|
352
|
+
# objects of external classes
|
353
|
+
case obj.class.name.to_sym
|
354
|
+
when :IPAddr # IPAddr - fetch IP/mask string
|
355
|
+
obj = obj.native.inspect.split[1].chomp('>')[5..-1]
|
356
|
+
when :IPAddrList # IPAddrList - pass array to parse
|
357
|
+
return obj_to_cidr(obj.to_a)
|
358
|
+
end
|
358
359
|
|
359
360
|
# string or similar - immediate generation
|
360
361
|
if obj.respond_to?(:to_s)
|
data/spec/ip_access_list_spec.rb
CHANGED
@@ -3,7 +3,14 @@ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
|
|
3
3
|
require 'uri'
|
4
4
|
require 'socket'
|
5
5
|
require 'rubygems'
|
6
|
+
require 'ipaddr'
|
6
7
|
require 'ipaccess'
|
8
|
+
require 'ipaccess/socket'
|
9
|
+
|
10
|
+
begin
|
11
|
+
require 'ipaddr_list'
|
12
|
+
rescue LoadError
|
13
|
+
end
|
7
14
|
|
8
15
|
describe IPAccessList do
|
9
16
|
|
@@ -41,6 +48,12 @@ describe IPAccessList do
|
|
41
48
|
lambda { IPAccessList.new [IPAddr.new("127.0.0.1"), IPAddr.new("192.168.1.1")] }.should_not raise_error
|
42
49
|
end
|
43
50
|
|
51
|
+
if Kernel.const_defined?(:IPAddrList)
|
52
|
+
it "should take an IPAddrList object as parameter" do
|
53
|
+
lambda { IPAccessList.new IPAddrList.new(["127.0.0.1", "192.168.1.1"]) }.should_not raise_error
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
44
57
|
it "should take an array of numbers as parameter" do
|
45
58
|
lambda { IPAccessList.new [2130706433,2130706434] }.should_not raise_error
|
46
59
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ipaccess
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Pawe\xC5\x82 Wilk"
|
@@ -39,6 +39,7 @@ files:
|
|
39
39
|
- lib/ipaccess/ip_access_patches.rb
|
40
40
|
- lib/ipaccess/netaddr_patch.rb
|
41
41
|
- lib/ipaccess/sockets.rb
|
42
|
+
- lib/ipaccess/socket.rb
|
42
43
|
- lib/ipaccess/ghost_doc.rb
|
43
44
|
- lib/ipaccess/ghost_doc_acl.rb
|
44
45
|
- docs/LGPL-LICENSE
|