Sha256: 1d4c17e32c6375df1c54b6ee1781e467cc46270267722a04f8ad5dce699e0e0e

Contents?: true

Size: 686 Bytes

Versions: 19

Compression:

Stored size: 686 Bytes

Contents

module Cxxproject
  class ExitHelperException < StandardError
  end

  class ExitHelper
    @@exit_code = nil
    @@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) unless Cxxproject::ExitHelper.exit_code.nil?
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
cxxproject-0.6.31 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.30 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.29 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.28 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.27 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.26 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.25 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.24 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.23 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.21 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.18 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.17 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.14 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.12 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.13 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.11 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.10 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.9 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.6.6 lib/cxxproject/utils/exit_helper.rb