Class: CollectdServer::Packet::Stack

Inherits:
Object
  • Object
show all
Defined in:
lib/collectd_server/packet.rb

Constant Summary collapse

ORDER =
[:host, :time, :interval, :plugin, :plugin_instance, :type, :type_instance]

Instance Method Summary collapse

Constructor Details

#initializeStack

Returns a new instance of Stack.



41
42
43
# File 'lib/collectd_server/packet.rb', line 41

def initialize
  @stack = {}
end

Instance Method Details

#part_name(part) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
# File 'lib/collectd_server/packet.rb', line 51

def part_name(part)
  case part
  when Packet::Host then :host
  when Packet::Time then :time
  when Packet::Interval then :interval
  when Packet::Plugin then :plugin
  when Packet::PluginInstance then :plugin_instance
  when Packet::Type then :type
  when Packet::TypeInstance then :type_instance
  end
end

#to_aObject



63
64
65
# File 'lib/collectd_server/packet.rb', line 63

def to_a
  ORDER.map{ |field| @stack[field] }.compact
end

#update_part(part) ⇒ Object



45
46
47
48
49
# File 'lib/collectd_server/packet.rb', line 45

def update_part(part)
  name = part_name(part)

  @stack[name] = part
end