Sha256: 676eda470ba81d1d55d42c559407c9b815cc35d5e1993bd9599393618902ec33

Contents?: true

Size: 639 Bytes

Versions: 4

Compression:

Stored size: 639 Bytes

Contents

module Cxxproject
  class ExitHelperException < StandardError
  end

  class ExitHelper
    @@exit_code = 0
    @@exit_test = false

    def self.set_exit_code(val)
      @@exit_code = val
    end

    def self.exit_code()
      @@exit_code
    end

    def self.reset_exit_code()
      @@exit_code = 0
    end

    def self.enable_exit_test()
      @@exit_test = true
    end

    def self.disable_exit_test()
      @@exit_test = false
    end

    def self.exit(val)
      raise ExitHelperException.new if @@exit_test
      @@exit_code = val
      Kernel::exit
    end

  end
end

at_exit do
  exit(Cxxproject::ExitHelper.exit_code)
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cxxproject-0.6.5 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.4 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.2 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.1 lib/cxxproject/utils/exit_helper.rb