Class: Iface::RangeFile
Overview
Represents a range config file (a range of IP addresses)
These are files named like “ifcfg-eth0-range0”.
Instance Attribute Summary collapse
Attributes inherited from ConfigFile
#device, #filename, #vars
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from ConfigFile
create, file_type_name, parse_filename, #to_s, #value_set_class
Constructor Details
#initialize(filename, device, range_num, clone_num, io) ⇒ RangeFile
Returns a new instance of RangeFile.
175
176
177
178
179
180
|
# File 'lib/iface/config_file.rb', line 175
def initialize(filename, device, range_num, clone_num, io)
super
@start_ip_num = string_to_ip_num(vars['ipaddr_start'])
@end_ip_num = string_to_ip_num(vars['ipaddr_end'])
@start_clone_num = vars['clonenum_start']&.to_i
end
|
Instance Attribute Details
#start_clone_num ⇒ Object
Returns the value of attribute start_clone_num.
169
170
171
|
# File 'lib/iface/config_file.rb', line 169
def start_clone_num
@start_clone_num
end
|
Class Method Details
.recognize?(_device, range_num, _clone_num) ⇒ Boolean
171
172
173
|
# File 'lib/iface/config_file.rb', line 171
def self.recognize?(_device, range_num, _clone_num)
!range_num.nil?
end
|
Instance Method Details
#end_ip_num ⇒ Object
195
196
197
|
# File 'lib/iface/config_file.rb', line 195
def end_ip_num
@end_ip_num.to_ip
end
|
#include?(ip) ⇒ Boolean
186
187
188
189
|
# File 'lib/iface/config_file.rb', line 186
def include?(ip)
ip_num = string_to_ip_num(ip)
@start_ip_num <= ip_num && ip_num <= @end_ip_num
end
|
#start_ip_num ⇒ Object
191
192
193
|
# File 'lib/iface/config_file.rb', line 191
def start_ip_num
@start_ip_num.to_ip
end
|
#static? ⇒ Boolean
182
183
184
|
# File 'lib/iface/config_file.rb', line 182
def static?
true
end
|
#string_to_ip_num(str) ⇒ Object
199
200
201
|
# File 'lib/iface/config_file.rb', line 199
def string_to_ip_num(str)
str.split('.').collect { |x| x.to_i.to_s(16).rjust(2, '0') }.join.hex
end
|