summaryrefslogtreecommitdiff
path: root/tool/ruby_vm/controllers/application_controller.rb
blob: e03e54e3971a5c15544303e48a7ce8330bedc3a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#! /your/favourite/path/to/ruby
# -*- Ruby -*-
# -*- frozen_string_literal: true; -*-
# -*- warn_indent: true; -*-
#
# Copyright (c) 2017 Urabe, Shyouhei.  All rights reserved.
#
# This file is  a part of the programming language  Ruby.  Permission is hereby
# granted, to  either redistribute and/or  modify this file, provided  that the
# conditions  mentioned in  the file  COPYING are  met.  Consult  the file  for
# details.

require_relative '../helpers/dumper'
require_relative '../models/instructions'
require_relative '../models/typemap'
require_relative '../loaders/vm_opts_h'

class ApplicationController
  def generate i, destdir, basedir
    path = Pathname.new i
    dst = destdir ? Pathname.new(destdir).join(i) : Pathname.new(i)
    base = basedir ? Pathname.new(basedir) : Pathname.pwd
    dumper = RubyVM::Dumper.new dst, base.expand_path
    return [path, dumper]
  end
end