Sha256: 27a17293a1928c7e7a1ab6aab4e6677ec81d777c4d28deae6d8e4a78943a4747

Contents?: true

Size: 1011 Bytes

Versions: 2

Compression:

Stored size: 1011 Bytes

Contents

module RSpec

  class << self
    def deprecate(method, alternate_method=nil, version=nil)
      version_string = version ? "rspec-#{version}" : "a future version of RSpec"

      message = <<-NOTICE

*****************************************************************
DEPRECATION WARNING: you are using deprecated behaviour that will
be removed from #{version_string}.

#{caller(0)[2]}

* #{method} is deprecated.
NOTICE
      if alternate_method
        message << <<-ADDITIONAL
* please use #{alternate_method} instead.
ADDITIONAL
      end

      message << "*****************************************************************"
      warn_deprecation(message)
    end

    def warn_deprecation(message)
      send :warn, message
    end
  end

  class HashWithDeprecationNotice < Hash

    def initialize(method, alternate_method=nil, &block)
      @method, @alternate_method = method, alternate_method
    end

    def []=(k,v)
      RSpec.deprecate(@method, @alternate_method)
      super
    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rspec-core-2.0.0.beta.19 lib/rspec/core/deprecation.rb
rspec-core-2.0.0.beta.18 lib/rspec/core/deprecation.rb