Class: Sapluuna::IP

Inherits:
IPAddr
  • Object
show all
Defined in:
lib/sapluuna/ip.rb

Instance Method Summary collapse

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

#aclObject



42
43
44
# File 'lib/sapluuna/ip.rb', line 42

def acl
  ip + ' '+ mask_wild
end

#cidrObject



38
39
40
# File 'lib/sapluuna/ip.rb', line 38

def cidr
  ip + '/' + mask_cidr.to_s
end

#ipObject



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_cidrObject



26
27
28
# File 'lib/sapluuna/ip.rb', line 26

def mask_cidr
  @mask_addr.to_s(2).delete('0').size
end

#mask_netObject



34
35
36
# File 'lib/sapluuna/ip.rb', line 34

def mask_net
  _to_string @mask_addr
end

#mask_wildObject



30
31
32
# File 'lib/sapluuna/ip.rb', line 30

def mask_wild
  _to_string ~@mask_addr
end

#netObject



46
47
48
# File 'lib/sapluuna/ip.rb', line 46

def net
  ip + ' ' + mask_net
end