deprecations 2.2.0 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/deprecations/behavior.rb +5 -3
- data/lib/deprecations/extension.rb +26 -9
- data/lib/deprecations/version.rb +1 -1
- data/lib/deprecations.rb +2 -0
- metadata +12 -66
- data/.gitignore +0 -5
- data/deprecations.gemspec +0 -33
- data/gems.rb +0 -1
- data/rakefile.rb +0 -12
- data/spec/deprecations/behavior_spec.rb +0 -97
- data/spec/deprecations/version_spec.rb +0 -7
- data/spec/deprecations_spec.rb +0 -235
- data/spec/spec_helper.rb +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 976d65184fd1442180e364ecd885aabf9202877f1bb7d11c1315eed9fe30b5ee
|
4
|
+
data.tar.gz: bf4ad1bc538b49878a6268321883d1d89a3cc3fe0627ef8c2d37200972c22ad2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29383bc82baad099e0597f6efb0c4a0e2d4bb7f87e2235c19e1ebd58e0611c287aa7b1f478c1e75fc942f43bd2078cfb09f80f90df72ab4d184012e2dee8a51d
|
7
|
+
data.tar.gz: 0636b27fc0c83e46df73364b669b6c59f0c2e844e424807a990ee45d8bf1957b93db289d744d63013b099317f8f23618aa92b979c468a200712608956bd220a7
|
@@ -1,11 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Deprecations
|
2
4
|
class << self
|
3
5
|
def behavior
|
4
6
|
BEHAVIOR.key(@behavior) || @behavior
|
5
7
|
end
|
6
8
|
|
7
|
-
def behavior=(
|
8
|
-
@behavior = as_behavior(
|
9
|
+
def behavior=(value)
|
10
|
+
@behavior = as_behavior(value)
|
9
11
|
end
|
10
12
|
|
11
13
|
def with_behavior(behavior)
|
@@ -58,6 +60,6 @@ module Deprecations
|
|
58
60
|
end
|
59
61
|
end
|
60
62
|
|
61
|
-
BEHAVIOR = {silence: proc {}, raise: Raise, warn: Warn}.freeze
|
63
|
+
BEHAVIOR = { silence: proc {}, raise: Raise, warn: Warn }.freeze
|
62
64
|
end
|
63
65
|
end
|
@@ -13,7 +13,11 @@ module Deprecations
|
|
13
13
|
private
|
14
14
|
|
15
15
|
def __method(method_name)
|
16
|
-
|
16
|
+
begin
|
17
|
+
instance_method(method_name)
|
18
|
+
rescue StandardError
|
19
|
+
nil
|
20
|
+
end
|
17
21
|
end
|
18
22
|
|
19
23
|
def __method_deprecated!(method, alternative, outdated)
|
@@ -21,16 +25,23 @@ module Deprecations
|
|
21
25
|
undef_method(method.name)
|
22
26
|
define_method(method.name) do |*a, &b|
|
23
27
|
decorated = Class === self ? "#{self}." : "#{defining_context}#"
|
24
|
-
alternative = "#{decorated}#{alternative.name}" if UnboundMethod ===
|
25
|
-
|
28
|
+
alternative = "#{decorated}#{alternative.name}" if UnboundMethod ===
|
29
|
+
alternative
|
30
|
+
Deprecations.call(
|
31
|
+
"#{decorated}#{::Kernel.__method__}",
|
32
|
+
alternative,
|
33
|
+
outdated
|
34
|
+
)
|
26
35
|
method.bind(self).call(*a, &b)
|
27
36
|
end
|
28
37
|
end
|
29
38
|
|
30
39
|
def __method_checked(method_name)
|
31
|
-
__method(method_name) or
|
32
|
-
|
33
|
-
|
40
|
+
__method(method_name) or
|
41
|
+
raise(
|
42
|
+
NameError,
|
43
|
+
"undefined method `#{method_name}` for class `#{self}`"
|
44
|
+
)
|
34
45
|
end
|
35
46
|
|
36
47
|
def __method_alternative(alternative)
|
@@ -58,9 +69,15 @@ module Deprecations
|
|
58
69
|
include Helper
|
59
70
|
|
60
71
|
def deprecated(method_name, alternative = nil, outdated = nil)
|
61
|
-
m = __method(method_name) or
|
62
|
-
|
63
|
-
|
72
|
+
m = __method(method_name) or
|
73
|
+
return(
|
74
|
+
singleton_class.send(
|
75
|
+
:deprecated,
|
76
|
+
method_name,
|
77
|
+
alternative,
|
78
|
+
outdated
|
79
|
+
)
|
80
|
+
)
|
64
81
|
__method_deprecated!(m, __method_alternative(alternative), outdated)
|
65
82
|
end
|
66
83
|
|
data/lib/deprecations/version.rb
CHANGED
data/lib/deprecations.rb
CHANGED
metadata
CHANGED
@@ -1,84 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deprecations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Blumtritt
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.10'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.10'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 10.1.1
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 10.1.1
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rspec
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 3.0.0
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 3.0.0
|
11
|
+
date: 2022-07-30 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
55
13
|
description: |
|
56
14
|
This gem provides transparent declaration of deprecated methods and classes.
|
57
15
|
It's easy, small, has no dependencies and no overhead.
|
58
|
-
email:
|
16
|
+
email:
|
59
17
|
executables: []
|
60
18
|
extensions: []
|
61
19
|
extra_rdoc_files:
|
62
20
|
- README.md
|
63
21
|
files:
|
64
|
-
- ".gitignore"
|
65
22
|
- README.md
|
66
|
-
- deprecations.gemspec
|
67
|
-
- gems.rb
|
68
23
|
- lib/deprecations.rb
|
69
24
|
- lib/deprecations/behavior.rb
|
70
25
|
- lib/deprecations/extension.rb
|
71
26
|
- lib/deprecations/version.rb
|
72
|
-
- rakefile.rb
|
73
|
-
- spec/deprecations/behavior_spec.rb
|
74
|
-
- spec/deprecations/version_spec.rb
|
75
|
-
- spec/deprecations_spec.rb
|
76
|
-
- spec/spec_helper.rb
|
77
27
|
homepage: https://github.com/mblumtritt/deprecations
|
78
28
|
licenses: []
|
79
29
|
metadata:
|
80
|
-
|
81
|
-
|
30
|
+
source_code_uri: https://github.com/mblumtritt/deprecations
|
31
|
+
bug_tracker_uri: https://github.com/mblumtritt/deprecations/issues
|
32
|
+
post_install_message:
|
82
33
|
rdoc_options: []
|
83
34
|
require_paths:
|
84
35
|
- lib
|
@@ -91,15 +42,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
91
42
|
requirements:
|
92
43
|
- - ">="
|
93
44
|
- !ruby/object:Gem::Version
|
94
|
-
version:
|
45
|
+
version: '0'
|
95
46
|
requirements: []
|
96
|
-
|
97
|
-
|
98
|
-
signing_key:
|
47
|
+
rubygems_version: 3.3.7
|
48
|
+
signing_key:
|
99
49
|
specification_version: 4
|
100
50
|
summary: Deprecation support for your project.
|
101
|
-
test_files:
|
102
|
-
- spec/deprecations/behavior_spec.rb
|
103
|
-
- spec/deprecations/version_spec.rb
|
104
|
-
- spec/deprecations_spec.rb
|
105
|
-
- spec/spec_helper.rb
|
51
|
+
test_files: []
|
data/deprecations.gemspec
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative './lib/deprecations/version'
|
4
|
-
|
5
|
-
Gem::Specification.new do |spec|
|
6
|
-
spec.name = spec.rubyforge_project = 'deprecations'
|
7
|
-
spec.version = Deprecations::VERSION
|
8
|
-
spec.summary = 'Deprecation support for your project.'
|
9
|
-
spec.description = <<~DESCRIPTION
|
10
|
-
This gem provides transparent declaration of deprecated methods and classes.
|
11
|
-
It's easy, small, has no dependencies and no overhead.
|
12
|
-
DESCRIPTION
|
13
|
-
spec.author = 'Mike Blumtritt'
|
14
|
-
spec.email = 'mike.blumtritt@invision.de'
|
15
|
-
spec.homepage = 'https://github.com/mblumtritt/deprecations'
|
16
|
-
spec.metadata = {'issue_tracker' => 'https://github.com/mblumtritt/deprecations/issues'}
|
17
|
-
|
18
|
-
spec.add_development_dependency 'bundler', '>= 1.10'
|
19
|
-
spec.add_development_dependency 'rake', '>= 10.1.1'
|
20
|
-
spec.add_development_dependency 'rspec', '>= 3.0.0'
|
21
|
-
|
22
|
-
spec.platform = Gem::Platform::RUBY
|
23
|
-
spec.required_ruby_version = '>= 2.0.0'
|
24
|
-
spec.required_rubygems_version = Gem::Requirement.new('>= 1.10.0')
|
25
|
-
|
26
|
-
spec.require_paths = %w[lib]
|
27
|
-
|
28
|
-
all_files = %x(git ls-files -z).split(0.chr)
|
29
|
-
spec.test_files = all_files.grep(%r{^(spec|test)/})
|
30
|
-
spec.files = all_files - spec.test_files
|
31
|
-
|
32
|
-
spec.extra_rdoc_files = %w[README.md]
|
33
|
-
end
|
data/gems.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
source('https://rubygems.org'){ gemspec }
|
data/rakefile.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
require 'bundler/gem_tasks'
|
2
|
-
require 'rspec/core/rake_task'
|
3
|
-
|
4
|
-
RSpec::Core::RakeTask.new(:test) do |t|
|
5
|
-
t.pattern = ['spec/*_spec.rb', 'spec/**/*/*_spec.rb']
|
6
|
-
t.rspec_opts = '-w'
|
7
|
-
t.verbose = Rake.application.options.trace
|
8
|
-
end
|
9
|
-
|
10
|
-
task :default do
|
11
|
-
exec "#{$0} --task"
|
12
|
-
end
|
@@ -1,97 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
RSpec.describe Deprecations do
|
4
|
-
context 'behavior' do
|
5
|
-
|
6
|
-
it 'is possible to configure the behavior with a pre-defined value' do
|
7
|
-
%i(silence raise warn).each do |behavior|
|
8
|
-
Deprecations.behavior = behavior
|
9
|
-
expect(Deprecations.behavior).to be(behavior)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'is possible to configure a custom behavior' do
|
14
|
-
custom = proc do |*args|
|
15
|
-
FantasticLogger.log(*args)
|
16
|
-
end
|
17
|
-
Deprecations.behavior = custom
|
18
|
-
expect(Deprecations.behavior).to be(custom)
|
19
|
-
end
|
20
|
-
|
21
|
-
context 'standard behavior :silence' do
|
22
|
-
before do
|
23
|
-
Deprecations.behavior = :silence
|
24
|
-
end
|
25
|
-
|
26
|
-
it 'does simply nothing' do
|
27
|
-
expect(subject.call(*%w(should be silent))).to be(subject)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
context 'standard behavior :warn' do
|
32
|
-
before do
|
33
|
-
Deprecations.behavior = :warn
|
34
|
-
end
|
35
|
-
after do
|
36
|
-
Deprecations.call('Bad#method', 'Bad#alternative', 'after next version')
|
37
|
-
end
|
38
|
-
|
39
|
-
it 'warns about the deprecation' do
|
40
|
-
expect(Kernel).to receive(:warn).once.with(/.*/, uplevel: 3)
|
41
|
-
end
|
42
|
-
|
43
|
-
it 'points to the deprecated method' do
|
44
|
-
expect(Kernel).to receive(:warn).once.with(/Bad#method.*deprecated/, uplevel: 3)
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'suggests the alternative method' do
|
48
|
-
expect(Kernel).to receive(:warn).once.with(/Bad#alternative.*instead/, uplevel: 3)
|
49
|
-
end
|
50
|
-
|
51
|
-
it 'contains information about when it will not longer supported' do
|
52
|
-
expect(Kernel).to receive(:warn).once.with(/outdated after next version/, uplevel: 3)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
context 'standard behavior :raise' do
|
57
|
-
before do
|
58
|
-
Deprecations.behavior = :raise
|
59
|
-
end
|
60
|
-
subject{ Deprecations.call('Bad#method', 'Bad#alternative', 'after next version') }
|
61
|
-
|
62
|
-
it 'raises a Deprecations::Error' do
|
63
|
-
expect{ subject }.to raise_error(Deprecations::Error)
|
64
|
-
end
|
65
|
-
|
66
|
-
it 'points to the deprecated method' do
|
67
|
-
expect{ subject }.to raise_error(Deprecations::Error, /Bad#method.*deprecated/)
|
68
|
-
end
|
69
|
-
|
70
|
-
it 'suggests the alternative method' do
|
71
|
-
expect{ subject }.to raise_error(Deprecations::Error, /Bad#alternative.*instead/)
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
context 'change behavior temporary' do
|
76
|
-
let(:sample_class) do
|
77
|
-
Class.new(BasicObject) do
|
78
|
-
deprecated!
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
before do
|
83
|
-
Deprecations.behavior = :raise
|
84
|
-
end
|
85
|
-
|
86
|
-
after do
|
87
|
-
Deprecations.with_behavior(:warn) do
|
88
|
-
sample_class.new.__id__
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
it 'is possible to temporary use a different behavior' do
|
93
|
-
expect(Kernel).to receive(:warn).once
|
94
|
-
end
|
95
|
-
end
|
96
|
-
end
|
97
|
-
end
|
data/spec/deprecations_spec.rb
DELETED
@@ -1,235 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
RSpec.describe Deprecations do
|
4
|
-
context 'policy' do
|
5
|
-
before do
|
6
|
-
Deprecations.behavior = :silence
|
7
|
-
end
|
8
|
-
|
9
|
-
context 'parameter forwarding' do
|
10
|
-
|
11
|
-
context 'when an instance method is marked as deprecated' do
|
12
|
-
subject do
|
13
|
-
Class.new(BasicObject) do
|
14
|
-
def foo(*args)
|
15
|
-
{foo: args}
|
16
|
-
end
|
17
|
-
deprecated :foo
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
it 'forwards all parameters and returns the original method`s result' do
|
22
|
-
result = subject.new.foo(:arg1, :arg2, 42)
|
23
|
-
expect(result).to eq(foo: [:arg1, :arg2, 42])
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
context 'when a class method is marked as deprecated' do
|
28
|
-
subject do
|
29
|
-
Class.new(BasicObject) do
|
30
|
-
def self.foo(*args)
|
31
|
-
{foo: args}
|
32
|
-
end
|
33
|
-
deprecated :foo
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
it 'forwards all parameters and returns the original method`s result' do
|
38
|
-
result = subject.foo(:arg1, :arg2, 42)
|
39
|
-
expect(result).to eq(foo: [:arg1, :arg2, 42])
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
context 'when a class is marked as deprecated' do
|
44
|
-
subject do
|
45
|
-
Class.new(BasicObject) do
|
46
|
-
attr_reader :parameters
|
47
|
-
def initialize(*parameters)
|
48
|
-
@parameters = parameters
|
49
|
-
end
|
50
|
-
deprecated!
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
it 'forwards all parameters to the initializer and returns the original method`s result' do
|
55
|
-
expect(subject.new(:arg1, :arg2, 42).parameters).to eq([:arg1, :arg2, 42])
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
end
|
60
|
-
|
61
|
-
context 'block forwarding' do
|
62
|
-
|
63
|
-
context 'when an instance method is marked as deprecated' do
|
64
|
-
subject do
|
65
|
-
Class.new(BasicObject) do
|
66
|
-
def foo(arg)
|
67
|
-
yield(arg)
|
68
|
-
end
|
69
|
-
deprecated :foo
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
it 'forwards a given Proc to the original method' do
|
74
|
-
result = subject.new.foo(41) do |arg|
|
75
|
-
{my_blocks_result: arg + 1}
|
76
|
-
end
|
77
|
-
expect(result).to eq(my_blocks_result: 42)
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
context 'when a class method is marked as deprecated' do
|
82
|
-
subject do
|
83
|
-
Class.new(BasicObject) do
|
84
|
-
def self.foo(arg)
|
85
|
-
yield(arg)
|
86
|
-
end
|
87
|
-
deprecated :foo
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
it 'forwards a given Proc to the original method' do
|
92
|
-
result = subject.foo(665) do |arg|
|
93
|
-
{my_blocks_result: arg + 1}
|
94
|
-
end
|
95
|
-
expect(result).to eq(my_blocks_result: 666)
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
context 'when a class is marked as deprecated' do
|
100
|
-
subject do
|
101
|
-
Class.new(BasicObject) do
|
102
|
-
attr_reader :value
|
103
|
-
def initialize(arg)
|
104
|
-
@value = yield(arg)
|
105
|
-
end
|
106
|
-
deprecated!
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
it 'forwards a given Proc to the initializer' do
|
111
|
-
instance = subject.new(41) do |arg|
|
112
|
-
{my_blocks_result: arg + 1}
|
113
|
-
end
|
114
|
-
expect(instance.value).to eq(my_blocks_result: 42)
|
115
|
-
end
|
116
|
-
end
|
117
|
-
|
118
|
-
end
|
119
|
-
|
120
|
-
end
|
121
|
-
|
122
|
-
context 'handling' do
|
123
|
-
|
124
|
-
context 'when a method is marked as deprecated' do
|
125
|
-
|
126
|
-
context 'when an alternative method and a comment are present ' do
|
127
|
-
subject do
|
128
|
-
Class.new(BasicObject) do
|
129
|
-
def foo
|
130
|
-
end
|
131
|
-
def bar
|
132
|
-
end
|
133
|
-
deprecated :foo, :bar, 'next version'
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
|
-
after do
|
138
|
-
subject.new.foo
|
139
|
-
end
|
140
|
-
|
141
|
-
it 'calls the handler with correct subject' do
|
142
|
-
expect(Deprecations).to receive(:call)
|
143
|
-
.once
|
144
|
-
.with("#{subject}#foo", anything, anything)
|
145
|
-
end
|
146
|
-
it 'calls the handler with correct alternative method' do
|
147
|
-
expect(Deprecations).to receive(:call)
|
148
|
-
.once
|
149
|
-
.with(anything, "#{subject}#bar", anything)
|
150
|
-
end
|
151
|
-
it 'calls the handler with a comment' do
|
152
|
-
expect(Deprecations).to receive(:call)
|
153
|
-
.once
|
154
|
-
.with(anything, anything, 'next version')
|
155
|
-
end
|
156
|
-
end
|
157
|
-
|
158
|
-
context 'when no alternative method and no comment are present' do
|
159
|
-
subject do
|
160
|
-
Class.new(BasicObject) do
|
161
|
-
def bar
|
162
|
-
end
|
163
|
-
deprecated :bar
|
164
|
-
end
|
165
|
-
end
|
166
|
-
|
167
|
-
after do
|
168
|
-
subject.new.bar
|
169
|
-
end
|
170
|
-
|
171
|
-
it 'calls handler without an alternative method' do
|
172
|
-
expect(Deprecations).to receive(:call).once.with(anything, nil, anything)
|
173
|
-
end
|
174
|
-
it 'calls handler without a comment' do
|
175
|
-
expect(Deprecations).to receive(:call).once.with(anything, anything, nil)
|
176
|
-
end
|
177
|
-
end
|
178
|
-
|
179
|
-
end
|
180
|
-
|
181
|
-
context 'when a class is anonymous defined' do
|
182
|
-
module Samples
|
183
|
-
AnonymousDefined = Class.new(::BasicObject) do
|
184
|
-
def clean; end
|
185
|
-
def clear; end
|
186
|
-
deprecated :clean, :clear
|
187
|
-
|
188
|
-
def self.create; end
|
189
|
-
def self.make; end
|
190
|
-
deprecated :create, :make
|
191
|
-
end
|
192
|
-
end
|
193
|
-
|
194
|
-
it 'uses correct decorated instance method names' do
|
195
|
-
expect(Deprecations).to receive(:call).once.with(
|
196
|
-
'Samples::AnonymousDefined#clean',
|
197
|
-
'Samples::AnonymousDefined#clear',
|
198
|
-
nil
|
199
|
-
)
|
200
|
-
Samples::AnonymousDefined.new.clean
|
201
|
-
end
|
202
|
-
|
203
|
-
it 'uses correct decorated singleton method names' do
|
204
|
-
expect(Deprecations).to receive(:call).once.with(
|
205
|
-
'Samples::AnonymousDefined.create',
|
206
|
-
'Samples::AnonymousDefined.make',
|
207
|
-
nil
|
208
|
-
)
|
209
|
-
Samples::AnonymousDefined.create
|
210
|
-
end
|
211
|
-
end
|
212
|
-
|
213
|
-
context 'when a sub-class is used' do
|
214
|
-
module Samples
|
215
|
-
class Parent < ::BasicObject
|
216
|
-
def clean; end
|
217
|
-
def clear; end
|
218
|
-
deprecated :clean, :clear
|
219
|
-
end
|
220
|
-
|
221
|
-
class Child < Parent; end
|
222
|
-
end
|
223
|
-
|
224
|
-
it 'uses correct decorated method names' do
|
225
|
-
expect(Deprecations).to receive(:call).once.with(
|
226
|
-
'Samples::Parent#clean',
|
227
|
-
'Samples::Parent#clear',
|
228
|
-
nil
|
229
|
-
)
|
230
|
-
Samples::Child.new.clean
|
231
|
-
end
|
232
|
-
end
|
233
|
-
|
234
|
-
end
|
235
|
-
end
|
data/spec/spec_helper.rb
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
RSpec.configure do |config|
|
2
|
-
config.raise_errors_for_deprecations!
|
3
|
-
config.disable_monkey_patching!
|
4
|
-
config.expose_dsl_globally = false
|
5
|
-
config.expect_with(:rspec){ |c| c.syntax = :expect }
|
6
|
-
config.mock_with(:rspec){ |c| c.syntax = :expect }
|
7
|
-
end
|
8
|
-
require 'deprecations'
|