class Snmp2mkr::Mib

Wrapper of SNMP::MIB for future implementation change

Constants

DEFAULT_MODULES

Attributes

load_path[R]

Public Class Methods

default() click to toggle source
# File lib/snmp2mkr/mib.rb, line 10
def self.default; @default_mib ||= Mib.new; end
default=(o) click to toggle source
# File lib/snmp2mkr/mib.rb, line 11
def self.default=(o); @default_mib = o; end
new(load_path: [], modules: DEFAULT_MODULES, no_default_load_path: false) click to toggle source
# File lib/snmp2mkr/mib.rb, line 13
def initialize(load_path: [], modules: DEFAULT_MODULES, no_default_load_path: false)
  @load_path = no_default_load_path ? load_path : [*load_path, SNMP::MIB::DEFAULT_MIB_PATH]
  @mib = SNMP::MIB.new

  modules.each do |mod|
    import mod
  end
end

Public Instance Methods

import(module_name) click to toggle source
# File lib/snmp2mkr/mib.rb, line 24
def import(module_name)
  raise ArgumentError if module_name.include?(?/)

  load_path.each do |path|
    begin
      @mib.load_module(module_name, path)
    rescue Errno::ENOENT
      next
    end

    return
  end

  raise ModuleNotFound, "couldn't find module #{module_name.inspect} from #{load_path.inspect}"
end
name_to_oid(name) click to toggle source
# File lib/snmp2mkr/mib.rb, line 44
def name_to_oid(name)
  @mib.oid(name).to_a
end
oid_to_name(oid) click to toggle source
# File lib/snmp2mkr/mib.rb, line 40
def oid_to_name(oid)
  @mib.name(oid.to_s)
end