Skip to content

Commit d87f746

Browse files
committed
Introduce a simple deprecatation mechanism in MSpec
* deprecate ruby_version_is A..B
1 parent 7a19a59 commit d87f746

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

lib/mspec/guards/version.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
require 'mspec/utils/deprecate'
12
require 'mspec/utils/version'
23
require 'mspec/guards/guard'
34

@@ -9,6 +10,9 @@ def initialize(version)
910
when Range
1011
a = SpecVersion.new version.begin
1112
b = SpecVersion.new version.end
13+
unless version.exclude_end?
14+
MSpec.deprecate "ruby_version_is with an inclusive range", 'an exclusive range ("2.1"..."2.3")'
15+
end
1216
@version = version.exclude_end? ? a...b : a..b
1317
end
1418
self.parameters = [version]

lib/mspec/utils/deprecate.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module MSpec
2+
def self.deprecate(what, replacement)
3+
$stderr.puts "\n#{what} is deprecated, use #{replacement} instead."
4+
user_caller = caller.find { |line| !line.include?('lib/mspec') }
5+
$stderr.puts "from #{user_caller}"
6+
end
7+
end

0 commit comments

Comments
 (0)