Sha256: 6c94ae52b4a21a7dbafc1019a6636b8109fe5a1b086b8e4ffff36935f6814296

Contents?: true

Size: 1.53 KB

Versions: 23

Compression:

Stored size: 1.53 KB

Contents

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

require 'instrumental_agent'
require 'test_server'

RSpec.configure do |config|

  config.before(:all) do
  end

  config.after(:all) do
  end

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

23 entries across 23 versions & 1 rubygems

Version Path
instrumental_agent-0.13.4 spec/spec_helper.rb
instrumental_agent-0.13.3 spec/spec_helper.rb
instrumental_agent-0.13.2 spec/spec_helper.rb
instrumental_agent-0.13.1 spec/spec_helper.rb
instrumental_agent-0.13.0 spec/spec_helper.rb
instrumental_agent-0.12.7 spec/spec_helper.rb
instrumental_agent-0.12.6 spec/spec_helper.rb
instrumental_agent-0.12.5 spec/spec_helper.rb
instrumental_agent-0.12.4 spec/spec_helper.rb
instrumental_agent-0.12.3 spec/spec_helper.rb
instrumental_agent-0.12.2 spec/spec_helper.rb
instrumental_agent-0.12.1 spec/spec_helper.rb
instrumental_agent-0.12.0 spec/spec_helper.rb
instrumental_agent-0.11.1 spec/spec_helper.rb
instrumental_agent-0.11.0 spec/spec_helper.rb
instrumental_agent-0.10.1 spec/spec_helper.rb
instrumental_agent-0.10.0 spec/spec_helper.rb
instrumental_agent-0.9.11 spec/spec_helper.rb
instrumental_agent-0.9.10 spec/spec_helper.rb
instrumental_agent-0.9.6 spec/spec_helper.rb