Class: Proxy::DHCP::Infoblox::RangeRegularExpressionGenerator::Root

Inherits:
Node
  • Object
show all
Defined in:
lib/smart_proxy_dhcp_infoblox/network_address_range_regex_generator.rb

Instance Attribute Summary

Attributes inherited from Node

#children, #value

Instance Method Summary collapse

Methods inherited from Node

#<=>, #add_child, #add_children, #group_children, #initialize

Constructor Details

This class inherits a constructor from Proxy::DHCP::Infoblox::RangeRegularExpressionGenerator::Node

Instance Method Details

#add_number(a_number) ⇒ Object



75
76
77
# File 'lib/smart_proxy_dhcp_infoblox/network_address_range_regex_generator.rb', line 75

def add_number(a_number)
  add_children((['0?', '0?'] + digits(a_number))[-3, 3])
end

#as_regexObject



79
80
81
82
# File 'lib/smart_proxy_dhcp_infoblox/network_address_range_regex_generator.rb', line 79

def as_regex
  group_children
  "(%s)" % children.map { |c| c.as_regex }.join('|')
end

#digits(a_number) ⇒ Object



84
85
86
87
88
89
90
91
# File 'lib/smart_proxy_dhcp_infoblox/network_address_range_regex_generator.rb', line 84

def digits(a_number)
  to_return = []
  begin
    to_return.push(a_number % 10)
    a_number /= 10
  end while a_number != 0
  to_return.reverse
end