ipaccess 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -296,6 +296,7 @@ class IPAccess
296
296
 
297
297
  def check_fd(list, exc, fd)
298
298
  check_socket(list, exc, Socket.for_fd(fd))
299
+ return fd
299
300
  end
300
301
  private :check_fd
301
302
 
@@ -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, "Provided symbol is unknown: #{obj.to_s}"
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
- # IPAddrList - immediate generation
357
- return obj.to_a if obj.class.name.to_sym == :IPAddrList
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)
@@ -0,0 +1,2 @@
1
+ require 'ipaccess/sockets.rb'
2
+
@@ -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.2
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