Class: ForemanProbing::Targeting::Direct

Inherits:
ForemanProbing::Targeting show all
Defined in:
app/models/foreman_probing/targeting/direct.rb

Instance Method Summary collapse

Instance Method Details

#target_kindObject



26
27
28
# File 'app/models/foreman_probing/targeting/direct.rb', line 26

def target_kind
  'direct'
end

#targetsObject

Either ip address or subnet in CIDR notation def initialize(address_string)

@addresses = parse_address_string!(address_string)

end



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/models/foreman_probing/targeting/direct.rb', line 9

def targets
  parse_address_string!(raw_targets).map do |addr|
    str = ''
    case addr[:family].to_s
    when 'inet'
      str += addr[:addr]
      str += '/' + addr[:netmask] unless addr[:netmask].nil?
    when 'inet6'
      # TODO: ipv6
      raise NotImplementedError
    else
      raise ArgumentError, "Unknown address family #{addr[:family]}"
    end
    str
  end
end