Class: RubyCompilerVisualizer

Inherits:
Object
  • Object
show all
Defined in:
lib/kaitai/struct/visualizer/visualizer_ruby.rb

Instance Method Summary collapse

Instance Method Details

#compileObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/kaitai/struct/visualizer/visualizer_ruby.rb', line 4

def compile
  Dir.mktmpdir { |code_dir|
    compiled_path = "#{code_dir}/compiled.rb"
    @compiler = CompileToRuby.new(@format_fn, compiled_path)
    @compiler.compile

    require compiled_path

    main_class_name = @compiler.type2class(@compiler.desc['meta']['id'])
    #puts "Main class: #{main_class_name}"
    main_class = Kernel::const_get(main_class_name)
    @data = main_class.from_file(@bin_fn)
  }
end