Class: Sapluuna::IP
- Inherits:
-
IPAddr
- Object
- IPAddr
- Sapluuna::IP
- Defined in:
- lib/sapluuna/ip.rb
Instance Method Summary collapse
- #acl ⇒ Object
- #cidr ⇒ Object
-
#initialize(addr = '::', family = Socket::AF_UNSPEC) ⇒ IP
constructor
A new instance of IP.
- #ip ⇒ Object
- #mask_cidr ⇒ Object
- #mask_net ⇒ Object
- #mask_wild ⇒ Object
- #net ⇒ Object
Constructor Details
#initialize(addr = '::', family = Socket::AF_UNSPEC) ⇒ IP
Returns a new instance of IP.
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/sapluuna/ip.rb', line 6 def initialize(addr = '::', family = Socket::AF_UNSPEC) addr_org, _family_org = addr, family prefix, _prefixlen = addr_org.split('/') @addr_org = prefix super if @family == Socket::AF_UNSPEC or @family == Socket::AF_INET @addr_org = in_addr(@addr_org) else @addr_org = in6_addr(@addr_org) end end |
Instance Method Details
#acl ⇒ Object
42 43 44 |
# File 'lib/sapluuna/ip.rb', line 42 def acl ip + ' '+ mask_wild end |
#cidr ⇒ Object
38 39 40 |
# File 'lib/sapluuna/ip.rb', line 38 def cidr ip + '/' + mask_cidr.to_s end |
#ip ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/sapluuna/ip.rb', line 18 def ip addr_tmp = @addr @addr = @addr_org ip = self.to_s @addr = addr_tmp ip end |
#mask_cidr ⇒ Object
26 27 28 |
# File 'lib/sapluuna/ip.rb', line 26 def mask_cidr @mask_addr.to_s(2).delete('0').size end |
#mask_net ⇒ Object
34 35 36 |
# File 'lib/sapluuna/ip.rb', line 34 def mask_net _to_string @mask_addr end |
#mask_wild ⇒ Object
30 31 32 |
# File 'lib/sapluuna/ip.rb', line 30 def mask_wild _to_string ~@mask_addr end |
#net ⇒ Object
46 47 48 |
# File 'lib/sapluuna/ip.rb', line 46 def net ip + ' ' + mask_net end |