module Einhorn::Client::Transport
Keep this in this file so client can be loaded entirely standalone by user code.
Constants
- ParseError
Public Class Methods
deserialize_message(line)
click to toggle source
# File lib/einhorn/client.rb, line 28 def self.deserialize_message(line) serialized = line.gsub(/%(25|0A)/, '%25' => '%', '%0A' => "\n") YAML.load(serialized) end
receive_message(socket)
click to toggle source
# File lib/einhorn/client.rb, line 17 def self.receive_message(socket) line = socket.readline deserialize_message(line) end
send_message(socket, message)
click to toggle source
# File lib/einhorn/client.rb, line 12 def self.send_message(socket, message) line = serialize_message(message) socket.write(line) end
serialize_message(message)
click to toggle source
# File lib/einhorn/client.rb, line 22 def self.serialize_message(message) serialized = YAML.dump(message) escaped = serialized.gsub(/%|\n/, '%' => '%25', "\n" => '%0A') escaped + "\n" end