aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/plugins/rspec/lib/spec/deprecation.rb
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/plugins/rspec/lib/spec/deprecation.rb')
-rw-r--r--vendor/plugins/rspec/lib/spec/deprecation.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/vendor/plugins/rspec/lib/spec/deprecation.rb b/vendor/plugins/rspec/lib/spec/deprecation.rb
new file mode 100644
index 000000000..ebab78942
--- /dev/null
+++ b/vendor/plugins/rspec/lib/spec/deprecation.rb
@@ -0,0 +1,40 @@
+module Spec
+ class << self
+ def deprecate(method, alternate_method=nil)
+ message = <<-NOTICE
+
+*****************************************************************
+DEPRECATION WARNING: you are using deprecated behaviour that will
+be removed from a future version of RSpec.
+
+#{caller(0)[2]}
+
+* #{method} is deprecated.
+NOTICE
+ if alternate_method
+ message << <<-ADDITIONAL
+* please use #{alternate_method} instead.
+ADDITIONAL
+ end
+
+ message << "*****************************************************************"
+ warn(message)
+ end
+
+ def warn(message)
+ Kernel.warn(message)
+ end
+
+ end
+
+ class HashWithDeprecationNotice < Hash
+ def initialize(method, alternate_method=nil, &block)
+ @method, @alternate_method = method, alternate_method
+ end
+ def []=(k,v)
+ Spec.deprecate(@method, @alternate_method)
+ super
+ end
+ end
+end
+