module Irrc::Irr

Constants

LIST

See www.irr.net/docs/list.html

Public Class Methods

host(name) click to toggle source
# File lib/irrc/irr.rb, line 4
def host(name)
  irr_list[irr_name(name)]
end
irr?(name) click to toggle source
# File lib/irrc/irr.rb, line 8
def irr?(name)
  irr_list.keys.include?(irr_name(name))
end
members_tag() click to toggle source

See RFC2622 / RFC4012 for details

# File lib/irrc/irr.rb, line 17
def members_tag
  /^(?:mp-)?members:\s*(.*)$/
end
route_tag(protocol) click to toggle source

See RFC2622 / RFC4012 for details

# File lib/irrc/irr.rb, line 22
def route_tag(protocol)
  case protocol
  when :ipv4, 'ipv4'
    /^route:\s*(\S+)$/
  when :ipv6, 'ipv6'
    /^route6:\s*(\S+)$/
  end
end
type(name) click to toggle source
# File lib/irrc/irr.rb, line 12
def type(name)
  type_list[irr_name(name)] || type_list[fqdn(name)]
end

Private Class Methods

fqdn(fqdn) click to toggle source
# File lib/irrc/irr.rb, line 45
def fqdn(fqdn)
  fqdn.to_s.downcase
end
irr_list() click to toggle source
# File lib/irrc/irr.rb, line 33
def irr_list
  @_irr_list ||= Hash[LIST.map {|i| [i[0], i[1]] }]
end
irr_name(name) click to toggle source
# File lib/irrc/irr.rb, line 41
def irr_name(name)
  name.to_s.upcase
end
type_list() click to toggle source
# File lib/irrc/irr.rb, line 37
def type_list
  @_type_list ||= Hash[LIST.map {|i| [[i[0], i[2]], [i[1], i[2]]] }.flatten(1)]
end

Public Instance Methods

as_set?() click to toggle source
# File lib/irrc/irr.rb, line 105
def as_set?
  object_type == 'as-set'
end
aut_num?() click to toggle source
# File lib/irrc/irr.rb, line 113
def aut_num?
  object_type == 'aut-num'
end
object() click to toggle source
# File lib/irrc/irr.rb, line 82
def object
  @object
end
object=(object) click to toggle source
# File lib/irrc/irr.rb, line 86
def object=(object)
  @object = object
end
object_type() click to toggle source

Public: Returns the object type to query. See RFC2622 for details.

Returns: A String. ('as-set', 'route-set' or 'aut-num')

# File lib/irrc/irr.rb, line 94
def object_type
  case @object
  when /^AS-[\w-]+$|:AS-[\w-]+$/i
    'as-set'
  when /^RS-[\w-]+$|:RS-[\w-]+$/i
    'route-set'
  when /^AS\d+$|:AS\d+$/i
    'aut-num'
  end
end
route_set?() click to toggle source
# File lib/irrc/irr.rb, line 109
def route_set?
  object_type == 'route-set'
end