Class: Ip

Inherits:
Object show all
Defined in:
lib/vagrant-dnsmasq/includes/Ip.class.rb

Constant Summary collapse

MATCH_IP4 =
/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ipv4) ⇒ Ip

Returns a new instance of Ip.

Raises:

  • (ArgumentError)


5
6
7
8
9
10
# File 'lib/vagrant-dnsmasq/includes/Ip.class.rb', line 5

def initialize(ipv4)

  raise ArgumentError, "IPv4 '#{ipv4}' must match #{MATCH_IP4}" unless Ip::ipv4_valid?(ipv4)

  @ipv4 = ipv4
end

Class Method Details

.ipv4_valid?(ipv4) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/vagrant-dnsmasq/includes/Ip.class.rb', line 12

def self.ipv4_valid?(ipv4)
  Ip::MATCH_IP4.match(ipv4)
end

Instance Method Details

#to_sObject



20
21
22
# File 'lib/vagrant-dnsmasq/includes/Ip.class.rb', line 20

def to_s
  v4
end

#v4Object



16
17
18
# File 'lib/vagrant-dnsmasq/includes/Ip.class.rb', line 16

def v4
  @ipv4
end