Sha256: 4834c74d834d122c736d3c9475c2a42438cedf73fe6e7c0e7ad102c7c88b26e5

Contents?: true

Size: 1.68 KB

Versions: 5

Compression:

Stored size: 1.68 KB

Contents

$: << File.join(File.dirname(__FILE__), "..", "lib")

require 'rubygems'
require 'bundler/setup'
Bundler.require(:default, :development)

require 'test_server'

RSpec.configure do |config|

  config.before(:all) do
  end

  config.before(:each) do
    Timecop.return
  end

  config.after(:all) do
  end

  config.raise_errors_for_deprecations!

end


def parse_constant(constant)
  constant = constant.to_s
  parts = constant.split("::")
  constant_name = parts.pop
  source = parts.join("::")
  [source.constantize, constant_name]
end

def with_constants(constants, &block)
  saved_constants = {}
  constants.each do |constant, val|
    source_object, const_name = parse_constant(constant)

    saved_constants[constant] = source_object.const_get(const_name)
    Kernel::silence_warnings { source_object.const_set(const_name, val) }
  end

  begin
    block.call
  ensure
    constants.each do |constant, val|
      source_object, const_name = parse_constant(constant)

      Kernel::silence_warnings { source_object.const_set(const_name, saved_constants[constant]) }
    end
  end
end
alias :with_constant :with_constants

class String
  # From Rails
  def constantize
    names = split('::')
    names.shift if names.empty? || names.first.empty?

    constant = Object
    names.each do |name|
      constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name)
    end
    constant
  end
end

module Kernel
  # File activesupport/lib/active_support/core_ext/kernel/reporting.rb, line 10
  def silence_warnings
    with_warnings(nil) { yield }
  end

  def with_warnings(flag)
    old_verbose, $VERBOSE = $VERBOSE, flag
    yield
  ensure
    $VERBOSE = old_verbose
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
instrumental_agent-3.0.0.beta spec/spec_helper.rb
instrumental_agent-3.0.0.alpha spec/spec_helper.rb
instrumental_agent-2.1.0 spec/spec_helper.rb
instrumental_agent-2.0.0 spec/spec_helper.rb
instrumental_agent-2.0.0.alpha spec/spec_helper.rb