module Irrc::Irrd::Api

Private Instance Methods

error_code() click to toggle source
# File lib/irrc/irrd/api.rb, line 58
def error_code
  /^(D|E|F.*)\n$/
end
expand_aut_num_command(autnum) click to toggle source
# File lib/irrc/irrd/api.rb, line 45
def expand_aut_num_command(autnum)
  "-K -r -i origin #{autnum}" if autnum && autnum != ''
end
expand_set_command(as_set) click to toggle source
# File lib/irrc/irrd/api.rb, line 23
def expand_set_command(as_set)
  "!i#{as_set},1" if as_set && as_set != ''
end
parse_aut_nums_from_as_set(result) click to toggle source
# File lib/irrc/irrd/api.rb, line 27
def parse_aut_nums_from_as_set(result)
  case result
  when success_code
    result.gsub(/^#{$1}$/, '').strip.split.grep(/^AS/).uniq
  when error_code
    raise $1
  end
end
parse_prefixes_from_aut_num(result, protocol) click to toggle source
# File lib/irrc/irrd/api.rb, line 49
def parse_prefixes_from_aut_num(result, protocol)
  result.scan(Irrc::Irr.route_tag(protocol)).flatten.uniq
end
parse_prefixes_from_route_set(result) click to toggle source
# File lib/irrc/irrd/api.rb, line 36
def parse_prefixes_from_route_set(result)
  case result
  when success_code
    result.gsub(/^#{$1}$/, '').strip.split.reject {|p| p =~ /^A\d+$/}.uniq
  when error_code
    raise $1
  end
end
persist_command() click to toggle source
# File lib/irrc/irrd/api.rb, line 8
def persist_command
  '!!'
end
return_code() click to toggle source
# File lib/irrc/irrd/api.rb, line 62
def return_code
  # Query with ripe option commands like "-i origin AS2515" returns doubled blank lines.
  # And we can't easily tell whether it succeeded or not.
  Regexp.union(success_code, error_code, /^\n\n$/)
end
set_source_command(sources) click to toggle source

Public: Returns a IRR command to specify authoritative IRR source.

sources - Array object containing IRR source names.

# File lib/irrc/irrd/api.rb, line 15
def set_source_command(sources)
  if sources && !sources.empty?
    "!s#{sources.join(',')}"
  else
    '!s-*'
  end
end
success_code() click to toggle source

See www.irrd.net/irrd-user.pdf for return codes

# File lib/irrc/irrd/api.rb, line 54
def success_code
  /^(C.*)\n$/
end