Class: HL7::MessageParser
- Inherits:
-
Object
- Object
- HL7::MessageParser
- Defined in:
- lib/message_parser.rb
Overview
Provides basic methods to parse_string, element and item delimeter parser
Instance Attribute Summary collapse
-
#delimiter ⇒ Object
readonly
Returns the value of attribute delimiter.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(delimiter) ⇒ MessageParser
constructor
A new instance of MessageParser.
-
#parse_element_delim(str) ⇒ Object
Get the element delimiter from an MSH segment.
-
#parse_item_delim(str) ⇒ Object
Get the item delimiter from an MSH segment.
-
#parse_string(instr) ⇒ Object
parse the provided String or Enumerable object into this message.
Constructor Details
#initialize(delimiter) ⇒ MessageParser
Returns a new instance of MessageParser.
53 54 55 |
# File 'lib/message_parser.rb', line 53 def initialize(delimiter) @delimiter = delimiter end |
Instance Attribute Details
#delimiter ⇒ Object (readonly)
Returns the value of attribute delimiter.
47 48 49 |
# File 'lib/message_parser.rb', line 47 def delimiter @delimiter end |
Class Method Details
.split_by_delimiter(element, delimiter) ⇒ Object
49 50 51 |
# File 'lib/message_parser.rb', line 49 def self.split_by_delimiter(element, delimiter) element.split( delimiter, -1 ) end |
Instance Method Details
#parse_element_delim(str) ⇒ Object
Get the element delimiter from an MSH segment
67 68 69 |
# File 'lib/message_parser.rb', line 67 def parse_element_delim(str) (str && str.kind_of?(String)) ? str.slice(3,1) : "|" end |
#parse_item_delim(str) ⇒ Object
Get the item delimiter from an MSH segment
72 73 74 |
# File 'lib/message_parser.rb', line 72 def parse_item_delim(str) (str && str.kind_of?(String)) ? str.slice(4,1) : "^" end |
#parse_string(instr) ⇒ Object
parse the provided String or Enumerable object into this message
58 59 60 61 62 63 64 |
# File 'lib/message_parser.rb', line 58 def parse_string( instr ) post_mllp = instr if /\x0b((:?.|\r|\n)+)\x1c\r/.match( instr ) post_mllp = $1 #strip the mllp bytes end HL7::MessageParser.split_by_delimiter(post_mllp, @delimiter.segment) end |