rendered paste bodyrequire '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"