Class: CollectdServer::Packet::Part

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

Direct Known Subclasses

Number, String, Values

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(content) ⇒ Part

Returns a new instance of Part.



95
96
97
# File 'lib/collectd_server/packet.rb', line 95

def initialize(content)
  @content = content
end

Instance Attribute Details

#contentObject (readonly)

Returns the value of attribute content.



71
72
73
# File 'lib/collectd_server/packet.rb', line 71

def content
  @content
end

Class Method Details

.add_type(klass, number) ⇒ Object



78
79
80
81
# File 'lib/collectd_server/packet.rb', line 78

def self.add_type(klass, number)
  @types ||= {}
  @types[number] = klass
end

.class_for(type) ⇒ Object



91
92
93
# File 'lib/collectd_server/packet.rb', line 91

def self.class_for(type)
  @types[type]
end

.part_for(type, content) ⇒ Object



83
84
85
86
87
88
89
# File 'lib/collectd_server/packet.rb', line 83

def self.part_for(type, content)
  if klass = self.class_for(type)
    klass.new(content)
  else
    warn "Unrecognized type %x" % type
  end
end

.type(number) ⇒ Object



73
74
75
76
# File 'lib/collectd_server/packet.rb', line 73

def self.type(number)
  define_method(:type) { number }
  Part.add_type(self, number)
end