Sha256: 20ba17fa4f894b646ce68bd03547519909eb5077cb12036627e3ceabd1c1010e

Contents?: true

Size: 753 Bytes

Versions: 2

Compression:

Stored size: 753 Bytes

Contents

require "safely/version"

module Safely

  autoload :Backtrace, 'safely/backtrace'
  autoload :Config,    'safely/config'
  autoload :Mixin,     'safely/mixin'
  autoload :Strategy,  'safely/strategy'

  class << self

    def reset!
      self.config = nil
    end

    def configure
      yield self.config
    end

    def config
      @config ||= Safely::Config.new
    end

    def load_strategies!
      config.strategies.each { |s| s.load! }
    end

    def report!( exception )
      load_strategies! if @config.nil?

      config.strategies.each { |s| s.report! exception }
    end

    private

    def config=( config )
      @config = config
    end

  end

end

Object.send( :include, Safely::Mixin )
Object.send( :extend, Safely::Mixin )

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
safely-0.3.2 lib/safely.rb
safely-0.3.1 lib/safely.rb