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.
@@ -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