module EISCP::Parser::EISCPParser
This module parses an eISCP string and returns a Message
object
Public Class Methods
create_header(array)
click to toggle source
# File lib/eiscp/parser/eiscp_parser.rb, line 24 def self.create_header(array) { magic: array[0], header_size: array[1], data_size: array[2], version: array[3], reserved: array[4] } end
parse(string)
click to toggle source
# File lib/eiscp/parser/eiscp_parser.rb, line 10 def self.parse(string) array = string.unpack('A4NNCa3A*') msg = ISCPParser.parse(array[5]) packet = Message.new( command: msg.command, value: msg.value, terminator: msg.terminator, unit_type: msg.unit_type, start: msg.start ) packet.header = create_header(array) packet end
validate(packet)
click to toggle source
# File lib/eiscp/parser/eiscp_parser.rb, line 34 def self.validate(packet) packet.header.header_size.size == packet.command.size end