class Protocol::Descriptor

This class encapsulates the protocol description, to check the classes against, if the Class#conform_to method is called with the protocol constant as an argument.

Public Class Methods

new(protocol) click to toggle source

Creates a new Protocol::Descriptor object.

# File lib/protocol/descriptor.rb, line 7
def initialize(protocol)
  @protocol = protocol
  @messages = {}
end

Public Instance Methods

add_message(message) click to toggle source

Addes a new Protocol::Message instance to this Protocol::Descriptor object.

# File lib/protocol/descriptor.rb, line 14
def add_message(message)
  @messages.key?(message.name) and raise SpecificationError,
    "A message named #{message.name} was already defined in #@protocol"
  @messages[message.name] = message
end
inspect() click to toggle source

Returns a string representation of this Protocol::Descriptor object.

# File lib/protocol/descriptor.rb, line 26
def inspect
  "#<#{self.class}(#@protocol)>"
end
messages() click to toggle source

Return all the messages stored in this Descriptor instance.

# File lib/protocol/descriptor.rb, line 21
def messages
  @messages.values
end
to_s() click to toggle source
# File lib/protocol/descriptor.rb, line 30
def to_s
  messages * ', '
end