Sha256: c81912d2812a2f22f11c8511afb5d9e9d543bb6e89e6482dcfd73415adf1d319

Contents?: true

Size: 650 Bytes

Versions: 3

Compression:

Stored size: 650 Bytes

Contents

# encoding: utf-8

# This module encapsulates top level class methods.
module Rubymisc
  class << self
    def log_at_exit_error(log_to)
      at_exit { dump_error_to_file(log_to) }
    end

    def dump_error_to_file(file)
      if $!
        File.open(file, 'a:utf-8:utf-8') do |log|
          error = { timestamp: Time.now,
                    message:   $!.message,
                    backtrace: $!.backtrace,
                    gems:      Gem.loaded_specs.inject({}) { |m, (n, s)| m.merge(n => s.version.to_s) } }
          require 'yaml'
          YAML.dump(error, log)
        end
      end
    end
    private :dump_error_to_file
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rubymisc-0.2.0 lib/rubymisc/self.rb
rubymisc-0.1.0 lib/rubymisc/self.rb
rubymisc-0.0.4 lib/rubymisc/self.rb