Sha256: 81a527eccfa4b9a486e10efb479b661bb66d56b2c56eca3ebcaf7b0c791fbbe8
Contents?: true
Size: 736 Bytes
Versions: 11
Compression:
Stored size: 736 Bytes
Contents
class DcmBuffer attr_reader :buffer, :header, :constructor def initialize @constructor = nil @header = :pre @buffer = [] end def start!(constructor, buffer) fail "Nested parameter" unless self.buffer.empty? fail "Missing DCM header" if self.header == :pre @header = :done @constructor = constructor @buffer = buffer end def finish!(line) fail "Unexpected END" if constructor.nil? append!(line) constructor.from_dcm(buffer).tap { reset! } end def reset! @constructor = nil @buffer = [] end def header_seen! @header = :after end def append!(line) fail "No label started" if constructor.nil? @buffer << line end end
Version data entries
11 entries across 11 versions & 1 rubygems