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