Sha256: 95f5e014198cccd966f101cb6c91e7a17d8ac6befb6651a4e2d68c51e5e46fcd

Contents?: true

Size: 703 Bytes

Versions: 18

Compression:

Stored size: 703 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

18 entries across 18 versions & 1 rubygems

Version Path
cxxproject-0.5.76 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.75 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.74 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.73 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.72 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.71 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.70 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.69 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.68 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.67 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.66 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.65 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.64 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.63 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.62 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.61 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.60 lib/cxxproject/utils/exit_helper.rb
cxxproject-0.5.59 lib/cxxproject/utils/exit_helper.rb