Class: Line
- Inherits:
-
Object
- Object
- Line
- Defined in:
- lib/ruby_astm/line.rb
Constant Summary collapse
- TYPES =
{ "H" => "Header", "MSH" => "Hl7_Header", "OBX" => "Hl7_Observation", "PID" => "Hl7_Patient", "OBR" => "Hl7_Order", "P" => "Patient", "Q" => "Query", "O" => "Order", "R" => "Result", "L" => "Terminator" }
Instance Attribute Summary collapse
-
#fields ⇒ Object
Returns the value of attribute fields.
-
#text ⇒ Object
Returns the value of attribute text.
-
#type ⇒ Object
Returns the value of attribute type.
Instance Method Summary collapse
- #detect_type ⇒ Object
-
#initialize(args) ⇒ Line
constructor
sets the types, and fields we can have processing based on line.
Constructor Details
#initialize(args) ⇒ Line
sets the types, and fields we can have processing based on line.
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/ruby_astm/line.rb', line 32 def initialize(args) self.fields = [] raise "no text provided" unless args[:text] if args[:text] args[:text].split(/\|/).each do |field| self.fields << field end end detect_type end |
Instance Attribute Details
#fields ⇒ Object
Returns the value of attribute fields.
18 19 20 |
# File 'lib/ruby_astm/line.rb', line 18 def fields @fields end |
#text ⇒ Object
Returns the value of attribute text.
16 17 18 |
# File 'lib/ruby_astm/line.rb', line 16 def text @text end |
#type ⇒ Object
Returns the value of attribute type.
20 21 22 |
# File 'lib/ruby_astm/line.rb', line 20 def type @type end |
Instance Method Details
#detect_type ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/ruby_astm/line.rb', line 43 def detect_type #puts "detecting line type: #{self.text}" line_type = self.fields[0] return unless line_type line_type.scan(/(?<ltype>[A-Z]+)/) { |ltype| if Line::TYPES[ltype[0]] self.type = Line::TYPES[ltype[0]] end } end |