Class: Arpie::SeparatorProtocol

Inherits:
Protocol
  • Object
show all
Defined in:
lib/arpie/protocol.rb

Overview

A simple separator-based protocol. This can be used to implement newline-delimited communication.

Constant Summary collapse

CAN_SEPARATE_MESSAGES =
true

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Protocol

#again!, #assemble, #assemble!, #bogon!, #gulp!, #incomplete!

Constructor Details

#initialize(separator = "\n") ⇒ SeparatorProtocol

Returns a new instance of SeparatorProtocol.



327
328
329
# File 'lib/arpie/protocol.rb', line 327

def initialize separator = "\n"
  @separator = separator
end

Instance Attribute Details

#separatorObject

Returns the value of attribute separator.



325
326
327
# File 'lib/arpie/protocol.rb', line 325

def separator
  @separator
end

Instance Method Details

#from(binary) {|| ... } ⇒ Object

Yields:

  • ()


331
332
333
334
335
336
# File 'lib/arpie/protocol.rb', line 331

def from binary
  idx = binary.index(@separator) or incomplete!
  yield binary[0, idx]

  @separator.size + idx
end

#to(object) ⇒ Object



338
339
340
# File 'lib/arpie/protocol.rb', line 338

def to object
  object.to_s + @separator
end