Sha256: d9ec49a36e6856ff6902fb89c8c06dabb0dcb6baaa6188af6f23bfc0efd62d14

Contents?: true

Size: 846 Bytes

Versions: 7

Compression:

Stored size: 846 Bytes

Contents

#!/usr/bin/env ruby

# frozen_string_literal: true

#
#     ttyrec -a -e ./material_colours_app.rb /tmp/ttyrecord
#

ttyrecord = File.binread(Dir.tmpdir + '/ttyrecord')
ttyrecord.force_encoding('BINARY') if ttyrecord.respond_to?(:force_encoding)

offset = 0
chunks = []

while offset < ttyrecord.size
  hash = {}

  data_start  = offset + 12
  data_length = ttyrecord[offset..(data_start)].unpack('VVV')[2]
  data_end    = data_start + data_length

  hash[:offset]       = offset
  hash[:data_start]   = data_start
  hash[:data_length]  = data_length
  hash[:data]         = ttyrecord[(data_start)...(data_end)]
  hash[:data_end]     = data_end

  chunks << hash

  offset = data_start + data_length
end

File.open(Dir.tmpdir + '/ttyrecord_decoded', 'w') do |file|
  chunks.each do |chunk|
    file.write("---\n" + chunk[:data] + "\n")
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
vedeu-0.8.28 test/support/ttyrec.rb
vedeu-0.8.27 test/support/ttyrec.rb
vedeu-0.8.26 test/support/ttyrec.rb
vedeu-0.8.25 test/support/ttyrec.rb
vedeu-0.8.24 test/support/ttyrec.rb
vedeu-0.8.23 test/support/ttyrec.rb
vedeu-0.8.22 test/support/ttyrec.rb