Module: EISCP::Parser::EISCPParser
- Defined in:
- lib/eiscp/parser/eiscp_parser.rb
Overview
This module parses an eISCP string and returns a Message object
Class Method Summary collapse
Class Method Details
.create_header(array) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# 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) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# 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) ⇒ Object
34 35 36 |
# File 'lib/eiscp/parser/eiscp_parser.rb', line 34 def self.validate(packet) packet.header.header_size.size == packet.command.size end |