All pastes #768510 Raw Edit

Mine

public ruby v1 · immutable
·published 2007-11-10 18:00 UTC
rendered paste body
require 'rubygems'gem 'snmp'require 'snmp'require 'trango5800ap'host = ARGV[0] || 'localhost'class Device  attr_accessor :manager  def walk(*args)    h = {}    @manager.walk(args) do |row|      ary = []      row.each { |vb| h[vb.name.to_s] = vb.value }    end    h  endendclass Poller  attr_accessor :type  def initialize(type, manager)    @type = type.new    @type.manager = manager  end  def method_missing(mid, *args)    @type.method(mid).call(*args)  endendmanager = SNMP::Manager.new(:Host => host, :Port => 161, :Community => "hsfxtest23", :Version => :SNMPv1)poll = Poller.new(Device, manager)p poll.walk(Trango5800AP::APSYSHW, Trango5800AP::APSYSFW)["1.3.6.1.4.1.5454.1.10.1.1.2.0"]p poll.walk(Trango5800AP::APSYSHW, Trango5800AP::APSYSFW)[Trango5800AP::APSYSFW]## Trango5800AP::APSYSHW and Trango5800AP::APSYSFW are built up using multiple values. I.e.,## module Trango5800AP; A = "1.3.6.1.4.1.5454"; APSYSFW = A + ".1.10.1.1.2.0"