uncruft 0.3.0 → 0.3.1
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/uncruft/deprecation_handler.rb +6 -4
- data/lib/uncruft/version.rb +1 -1
- metadata +4 -20
- data/spec/dummy/config/application.rb +0 -8
- data/spec/spec_helper.rb +0 -17
- data/spec/support/rails_root.rb +0 -7
- data/spec/uncruft/deprecatable_spec.rb +0 -58
- data/spec/uncruft/deprecation_handler_spec.rb +0 -172
- data/spec/uncruft/railtie_spec.rb +0 -33
- data/spec/uncruft/warning_spec.rb +0 -46
- data/spec/uncruft_spec.rb +0 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a2cab324dae5f8b3fc23c4f99785900af558ab66cee8a908222b3e7793482a35
|
4
|
+
data.tar.gz: 65ce169801afae62f4bd2b005b0ec901416c7f1372c2c5ca48a8ca3a9e9b79b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d8f03d9ae4074f0097facfa7f20895ef17ec72082ba4f2a2fa49ddc8dfef688a7574f2fab60d134a42e60fa0ef841ce9201a9226da3e0dc9bd239737d260a88
|
7
|
+
data.tar.gz: 6f5857f50049b5016bb96d3e106de7c5a54818625c7922de2cb2b1971b857118af64bdf19a414694862b77d22b5a015c7f908ecc683899c8df5a4dc743ce14de
|
@@ -41,9 +41,11 @@ module Uncruft
|
|
41
41
|
|
42
42
|
def normalize_callstack_path(message)
|
43
43
|
if (gem_home = gem_home(message)).present?
|
44
|
-
message.gsub(gem_home, '$GEM_PATH')
|
45
|
-
|
46
|
-
|
44
|
+
message.gsub!(gem_home, '$GEM_PATH')
|
45
|
+
end
|
46
|
+
|
47
|
+
if (absolute_path = absolute_path(message)).present?
|
48
|
+
message.gsub!(absolute_path, relative_path(absolute_path))
|
47
49
|
end
|
48
50
|
end
|
49
51
|
|
@@ -64,7 +66,7 @@ module Uncruft
|
|
64
66
|
end
|
65
67
|
|
66
68
|
def gem_home(message)
|
67
|
-
message.match(%r{
|
69
|
+
message.match(%r{(?i:c)alled from( .+ at)? (#{ENV['GEM_HOME']}/(.+/)*gems)})&.[](2) # rubocop:disable Style/FetchEnvVar
|
68
70
|
end
|
69
71
|
|
70
72
|
def absolute_path(message)
|
data/lib/uncruft/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uncruft
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Griffith
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-04-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
@@ -112,14 +112,6 @@ files:
|
|
112
112
|
- lib/uncruft/railtie.rb
|
113
113
|
- lib/uncruft/version.rb
|
114
114
|
- lib/uncruft/warning.rb
|
115
|
-
- spec/dummy/config/application.rb
|
116
|
-
- spec/spec_helper.rb
|
117
|
-
- spec/support/rails_root.rb
|
118
|
-
- spec/uncruft/deprecatable_spec.rb
|
119
|
-
- spec/uncruft/deprecation_handler_spec.rb
|
120
|
-
- spec/uncruft/railtie_spec.rb
|
121
|
-
- spec/uncruft/warning_spec.rb
|
122
|
-
- spec/uncruft_spec.rb
|
123
115
|
homepage: https://github.com/Betterment/uncruft
|
124
116
|
licenses:
|
125
117
|
- MIT
|
@@ -140,16 +132,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
132
|
- !ruby/object:Gem::Version
|
141
133
|
version: '0'
|
142
134
|
requirements: []
|
143
|
-
rubygems_version: 3.
|
135
|
+
rubygems_version: 3.3.5
|
144
136
|
signing_key:
|
145
137
|
specification_version: 4
|
146
138
|
summary: A library to assist with Rails upgrades
|
147
|
-
test_files:
|
148
|
-
- spec/spec_helper.rb
|
149
|
-
- spec/dummy/config/application.rb
|
150
|
-
- spec/uncruft/railtie_spec.rb
|
151
|
-
- spec/uncruft/warning_spec.rb
|
152
|
-
- spec/uncruft/deprecatable_spec.rb
|
153
|
-
- spec/uncruft/deprecation_handler_spec.rb
|
154
|
-
- spec/support/rails_root.rb
|
155
|
-
- spec/uncruft_spec.rb
|
139
|
+
test_files: []
|
@@ -1,8 +0,0 @@
|
|
1
|
-
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../Gemfile', __dir__)
|
2
|
-
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
|
3
|
-
$LOAD_PATH.unshift File.expand_path('../../../lib', __dir__)
|
4
|
-
|
5
|
-
module Dummy
|
6
|
-
class Application < Rails::Application
|
7
|
-
end
|
8
|
-
end
|
data/spec/spec_helper.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'bundler'
|
2
|
-
Bundler.require :default, :development
|
3
|
-
|
4
|
-
ENV["RAILS_ENV"] ||= 'test'
|
5
|
-
require File.expand_path('dummy/config/application', __dir__)
|
6
|
-
require 'support/rails_root'
|
7
|
-
|
8
|
-
RSpec.configure do |config|
|
9
|
-
config.run_all_when_everything_filtered = true
|
10
|
-
config.example_status_persistence_file_path = 'spec/examples.txt'
|
11
|
-
|
12
|
-
config.around(:all) do |example|
|
13
|
-
Time.use_zone(ActiveSupport::TimeZone.all.first) do
|
14
|
-
example.run
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
data/spec/support/rails_root.rb
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
RSpec.describe Uncruft::Deprecatable do
|
4
|
-
let(:my_name) { "Jess" }
|
5
|
-
|
6
|
-
subject { klass.new }
|
7
|
-
|
8
|
-
describe '.deprecate_attribute' do
|
9
|
-
let(:klass) do
|
10
|
-
Class.new do
|
11
|
-
include Uncruft::Deprecatable
|
12
|
-
|
13
|
-
attr_accessor :first_name
|
14
|
-
|
15
|
-
deprecate_attribute(:first_name,
|
16
|
-
message: "Please stop using this attribute!")
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'applies deprecation warning when setting deprecated attribute' do
|
21
|
-
expect(ActiveSupport::Deprecation).to receive(:warn).once
|
22
|
-
.with("Please stop using this attribute!")
|
23
|
-
|
24
|
-
expect(subject.first_name = my_name).to eq my_name
|
25
|
-
end
|
26
|
-
|
27
|
-
it 'applies deprecation warning when getting deprecated attribute' do
|
28
|
-
subject.instance_variable_set(:@first_name, my_name)
|
29
|
-
|
30
|
-
expect(ActiveSupport::Deprecation).to receive(:warn)
|
31
|
-
.with("Please stop using this attribute!")
|
32
|
-
|
33
|
-
expect(subject.first_name).to eq my_name
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
describe '.deprecate_method' do
|
38
|
-
let(:klass) do
|
39
|
-
Class.new do
|
40
|
-
include Uncruft::Deprecatable
|
41
|
-
|
42
|
-
def legacy_method
|
43
|
-
"Hello Old World!"
|
44
|
-
end
|
45
|
-
|
46
|
-
deprecate_method(:legacy_method,
|
47
|
-
message: "Please stop using this method!")
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
it 'applies deprecation warning when calling the deprecated method' do
|
52
|
-
expect(ActiveSupport::Deprecation).to receive(:warn)
|
53
|
-
.with("Please stop using this method!")
|
54
|
-
|
55
|
-
expect(subject.legacy_method).to eq "Hello Old World!"
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
@@ -1,172 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
RSpec.describe Uncruft::DeprecationHandler do
|
4
|
-
let(:ignorefile_path) { Rails.root.join('config/deprecations.ignore') }
|
5
|
-
|
6
|
-
before do
|
7
|
-
File.delete(ignorefile_path) if File.exist?(ignorefile_path)
|
8
|
-
end
|
9
|
-
|
10
|
-
subject { described_class.new }
|
11
|
-
|
12
|
-
describe '#call' do
|
13
|
-
let(:absolute_path) { Rails.root.join('chicken/nuggets.rb') }
|
14
|
-
let(:line_number) { 123 }
|
15
|
-
let(:caller_label) { '<something>' }
|
16
|
-
let(:message) { "Warning: BAD called from #{caller_label} at #{absolute_path}:#{line_number}" }
|
17
|
-
let(:expected_ignorefile_entry) { 'Warning: BAD called from <something> at chicken/nuggets.rb' }
|
18
|
-
let(:expected_error) { "#{expected_ignorefile_entry}:123" }
|
19
|
-
let(:expected_error_message) do
|
20
|
-
<<~ERROR.strip
|
21
|
-
#{expected_error}
|
22
|
-
|
23
|
-
To resolve this error, adjust your code according to the instructions above.
|
24
|
-
If you did not introduce this error or are unsure why you are seeing it,
|
25
|
-
you will find additional guidance at the URL below:
|
26
|
-
https://github.com/Betterment/uncruft/blob/main/GUIDE.md
|
27
|
-
ERROR
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'sanitizes the message and raises an error' do
|
31
|
-
expect { subject.call(message, '') }.to raise_error(RuntimeError, expected_error_message)
|
32
|
-
end
|
33
|
-
|
34
|
-
context 'when recording new deprecations' do
|
35
|
-
before do
|
36
|
-
allow(Uncruft).to receive(:record_deprecations?).and_return(true)
|
37
|
-
end
|
38
|
-
|
39
|
-
it 'sanitizes the message and writes it to the file' do
|
40
|
-
expect { subject.call(message, '') }.to change { File.exist?(ignorefile_path) }.from(false).to(true)
|
41
|
-
expect(File.read(ignorefile_path)).to include(expected_ignorefile_entry)
|
42
|
-
end
|
43
|
-
|
44
|
-
context 'when timecop is enabled' do
|
45
|
-
let(:test_started) { Time.zone.now }
|
46
|
-
|
47
|
-
it 'ignores time travel and writes the current time' do
|
48
|
-
Timecop.travel(test_started - 100.years) do
|
49
|
-
subject.call(message, '')
|
50
|
-
|
51
|
-
file_updated = Time.zone.parse(JSON.parse(File.read(ignorefile_path))['updated'])
|
52
|
-
expect(file_updated).to be_within(1.second).of(test_started)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
context 'when caller is an erb file' do
|
59
|
-
let(:caller_label) { '_app_views_bananas_show__1234_567890' }
|
60
|
-
let(:expected_ignorefile_entry) { 'Warning: BAD called from chicken/nuggets.rb' }
|
61
|
-
|
62
|
-
it 'sanitizes the message and raises an error' do
|
63
|
-
expect { subject.call(message, '') }.to raise_error(RuntimeError, expected_error_message)
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
context 'when caller is "top (required)"' do
|
68
|
-
let(:caller_label) { '<top (required)>' }
|
69
|
-
let(:expected_ignorefile_entry) { 'Warning: BAD called from <global scope> at chicken/nuggets.rb' }
|
70
|
-
|
71
|
-
it 'sanitizes the caller and raises an error' do
|
72
|
-
expect { subject.call(message, '') }.to raise_error(RuntimeError, expected_error_message)
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
context 'when caller is "main"' do
|
77
|
-
let(:caller_label) { '<main>' }
|
78
|
-
let(:expected_ignorefile_entry) { 'Warning: BAD called from <global scope> at chicken/nuggets.rb' }
|
79
|
-
|
80
|
-
it 'sanitizes the caller and raises an error' do
|
81
|
-
expect { subject.call(message, '') }.to raise_error(RuntimeError, expected_error_message)
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
context 'when message includes custom gem path' do
|
86
|
-
let(:absolute_path) { Pathname.new('/banana/banana/banana/gems/chicken/nuggets.rb') }
|
87
|
-
let(:expected_ignorefile_entry) { "Warning: BAD called from <something> at $GEM_PATH/chicken/nuggets.rb" }
|
88
|
-
|
89
|
-
before do
|
90
|
-
allow(ENV).to receive(:[]).and_call_original
|
91
|
-
allow(ENV).to receive(:[]).with('GEM_HOME').and_return('/banana/banana/banana')
|
92
|
-
end
|
93
|
-
|
94
|
-
it 'sanitizes the message and raises an error' do
|
95
|
-
expect { subject.call(message, '') }.to raise_error(RuntimeError, expected_error_message)
|
96
|
-
end
|
97
|
-
|
98
|
-
context 'when gem home is nested' do
|
99
|
-
let(:absolute_path) { Pathname.new('/banana/banana/banana/arbitrary/gem/path/gems/chicken/nuggets.rb') }
|
100
|
-
|
101
|
-
it 'sanitizes the message and raises an error' do
|
102
|
-
expect { subject.call(message, '') }.to raise_error(RuntimeError, expected_error_message)
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
context 'when gem is vendored' do
|
107
|
-
let(:absolute_path) { Rails.root.join('vendor/cache/chicken/nuggets.rb') }
|
108
|
-
|
109
|
-
it 'sanitizes the message and raises an error' do
|
110
|
-
expect { subject.call(message, '') }.to raise_error(RuntimeError, expected_error_message)
|
111
|
-
end
|
112
|
-
|
113
|
-
context 'when gem is vendored elsewhere' do
|
114
|
-
let(:absolute_path) { Rails.root.join('../../vendor/cache/chicken/nuggets.rb') }
|
115
|
-
|
116
|
-
it 'sanitizes the message and raises an error' do
|
117
|
-
expect { subject.call(message, '') }.to raise_error(RuntimeError, expected_error_message)
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
context 'when caller is not a filepath' do
|
124
|
-
let(:absolute_path) { '(pry)' }
|
125
|
-
let(:expected_ignorefile_entry) { 'Warning: BAD called from <something> at (pry)' }
|
126
|
-
|
127
|
-
it 'sanitizes the message and raises an error' do
|
128
|
-
expect { subject.call(message, '') }.to raise_error(RuntimeError, expected_error_message)
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
context 'when ignorefile exists' do
|
133
|
-
let(:message) { "Warning: BAD called from #{absolute_path}:#{line_number}" }
|
134
|
-
let(:file_content) do
|
135
|
-
<<~IGNOREFILE
|
136
|
-
{
|
137
|
-
"ignored_warnings": [
|
138
|
-
"Warning: BAD called from chicken/nuggets.rb"
|
139
|
-
],
|
140
|
-
"updated": "2018-06-05 15:20:12 -0400",
|
141
|
-
"rails_version": "5.1.6"
|
142
|
-
}
|
143
|
-
IGNOREFILE
|
144
|
-
end
|
145
|
-
|
146
|
-
before do
|
147
|
-
File.open(ignorefile_path, 'w') do |f|
|
148
|
-
f.write file_content
|
149
|
-
end
|
150
|
-
end
|
151
|
-
|
152
|
-
it 'does not raise an error and leaves the file intact' do
|
153
|
-
expect(File.read(ignorefile_path)).to eq(file_content)
|
154
|
-
expect { subject.call(message, '') }.not_to change { File.read(ignorefile_path) }
|
155
|
-
end
|
156
|
-
|
157
|
-
context 'when recording new deprecations' do
|
158
|
-
let(:line_number) { '456' }
|
159
|
-
|
160
|
-
before do
|
161
|
-
allow(Uncruft).to receive(:record_deprecations?).and_return(true)
|
162
|
-
end
|
163
|
-
|
164
|
-
it 'does not raise an error and leaves the file intact' do
|
165
|
-
expect(File.read(ignorefile_path)).to eq(file_content)
|
166
|
-
expect { subject.call(message, '') }.not_to raise_error
|
167
|
-
expect(File.read(ignorefile_path)).to include('Warning: BAD called from chicken/nuggets.rb')
|
168
|
-
end
|
169
|
-
end
|
170
|
-
end
|
171
|
-
end
|
172
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Uncruft::Railtie do
|
4
|
-
let(:app) { Rails.application }
|
5
|
-
let(:initializers) { app.initializers.tsort_each.select { |i| i.name.to_s.include?('deprecation') } }
|
6
|
-
|
7
|
-
it 'injects the default deprecation handler' do
|
8
|
-
expect { initializers.map { |i| i.run(app) } }.to change { Rails.application.config.active_support.deprecation }
|
9
|
-
.from(nil).to(a_collection_containing_exactly(an_instance_of(Uncruft::DeprecationHandler)))
|
10
|
-
end
|
11
|
-
|
12
|
-
context 'when the configured behavior is :stderr' do
|
13
|
-
before do
|
14
|
-
Rails.application.config.active_support.deprecation = :stderr
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'injects the default deprecation handler' do
|
18
|
-
expect { initializers.map { |i| i.run(app) } }.to change { Rails.application.config.active_support.deprecation }
|
19
|
-
.from(:stderr).to(a_collection_containing_exactly(an_instance_of(Uncruft::DeprecationHandler)))
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
context 'when a custom deprecation behavior is already configured' do
|
24
|
-
before do
|
25
|
-
Rails.application.config.active_support.deprecation = :notify
|
26
|
-
end
|
27
|
-
|
28
|
-
it 'injects the default deprecation handler' do
|
29
|
-
expect { initializers.map { |i| i.run(app) } }.to change { Rails.application.config.active_support.deprecation }
|
30
|
-
.from(:notify).to(a_collection_containing_exactly(:notify, an_instance_of(Uncruft::DeprecationHandler)))
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Uncruft::Warning do
|
4
|
-
before do
|
5
|
-
stub_const('Warning', Kernel) unless defined?(Warning)
|
6
|
-
end
|
7
|
-
|
8
|
-
it "doesn't block generic warnings" do
|
9
|
-
expect(ActiveSupport::Deprecation).not_to receive(:warn)
|
10
|
-
warn('oh no, you should worry')
|
11
|
-
Kernel.warn('oh no, you should worry')
|
12
|
-
Warning.warn('oh no, you should worry')
|
13
|
-
end
|
14
|
-
|
15
|
-
it "accepts kwargs from Kernel.warn" do
|
16
|
-
warn('oh no, you should worry', uplevel: 1)
|
17
|
-
Kernel.warn('oh no, you should worry', uplevel: 1)
|
18
|
-
end
|
19
|
-
|
20
|
-
context 'when warning includes the word "deprecation" or "deprecated"' do
|
21
|
-
it 'treats it as a deprecation warning' do
|
22
|
-
expect(ActiveSupport::Deprecation).to receive(:warn).and_return('banana').exactly(6).times
|
23
|
-
expect(warn('[dEpReCaTiOn] oh no, you should worry')).to eq 'banana'
|
24
|
-
expect(Kernel.warn('[dEpReCaTiOn] oh no, you should worry')).to eq 'banana'
|
25
|
-
expect(Warning.warn('[dEpReCaTiOn] oh no, you should worry')).to eq 'banana'
|
26
|
-
expect(warn('oh no, this is DePrEcAtEd, so you should worry')).to eq 'banana'
|
27
|
-
expect(Kernel.warn('oh no, this is DePrEcAtEd, so you should worry')).to eq 'banana'
|
28
|
-
expect(Warning.warn('oh no, this is DePrEcAtEd, so you should worry')).to eq 'banana'
|
29
|
-
end
|
30
|
-
|
31
|
-
context 'and when warning includes caller info' do
|
32
|
-
it 'strips out the path so that ActiveSupport::Deprecation can append a new one' do
|
33
|
-
path = caller_locations(0..0).first.path
|
34
|
-
|
35
|
-
allow(ActiveSupport::Deprecation).to receive(:warn).with('foo is deprecated!').and_return('hurray')
|
36
|
-
expect(warn("#{path}: foo is deprecated!")).to eq('hurray')
|
37
|
-
|
38
|
-
allow(ActiveSupport::Deprecation).to receive(:warn).with('[DEPRECATION] bar is no more.').and_return('huzzah')
|
39
|
-
expect(Kernel.warn("[DEPRECATION] bar is no more. #{path}:#{caller_locations(0..0).first.lineno}")).to eq('huzzah')
|
40
|
-
|
41
|
-
allow(ActiveSupport::Deprecation).to receive(:warn).with('Deprecation detected: banana --').and_return('we do our best...')
|
42
|
-
expect(Warning.warn("Deprecation detected: banana -- #{caller(0..0).first}")).to eq('we do our best...')
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
data/spec/uncruft_spec.rb
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
RSpec.describe Uncruft do
|
4
|
-
describe '.record_deprecations?' do
|
5
|
-
it 'handles common truthy and falsy values' do
|
6
|
-
allow(ENV).to receive(:[]).with('RECORD_DEPRECATIONS').and_return('1')
|
7
|
-
expect(described_class.record_deprecations?).to eq true
|
8
|
-
allow(ENV).to receive(:[]).with('RECORD_DEPRECATIONS').and_return('t')
|
9
|
-
expect(described_class.record_deprecations?).to eq true
|
10
|
-
allow(ENV).to receive(:[]).with('RECORD_DEPRECATIONS').and_return('T')
|
11
|
-
expect(described_class.record_deprecations?).to eq true
|
12
|
-
allow(ENV).to receive(:[]).with('RECORD_DEPRECATIONS').and_return('true')
|
13
|
-
expect(described_class.record_deprecations?).to eq true
|
14
|
-
allow(ENV).to receive(:[]).with('RECORD_DEPRECATIONS').and_return('TRUE')
|
15
|
-
expect(described_class.record_deprecations?).to eq true
|
16
|
-
allow(ENV).to receive(:[]).with('RECORD_DEPRECATIONS').and_return('0')
|
17
|
-
expect(described_class.record_deprecations?).to eq false
|
18
|
-
allow(ENV).to receive(:[]).with('RECORD_DEPRECATIONS').and_return('f')
|
19
|
-
expect(described_class.record_deprecations?).to eq false
|
20
|
-
allow(ENV).to receive(:[]).with('RECORD_DEPRECATIONS').and_return('F')
|
21
|
-
expect(described_class.record_deprecations?).to eq false
|
22
|
-
allow(ENV).to receive(:[]).with('RECORD_DEPRECATIONS').and_return('false')
|
23
|
-
expect(described_class.record_deprecations?).to eq false
|
24
|
-
allow(ENV).to receive(:[]).with('RECORD_DEPRECATIONS').and_return('FALSE')
|
25
|
-
expect(described_class.record_deprecations?).to eq false
|
26
|
-
allow(ENV).to receive(:[]).with('RECORD_DEPRECATIONS').and_return('')
|
27
|
-
expect(described_class.record_deprecations?).to be_nil
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
describe '.ignorefile_path' do
|
32
|
-
it 'uses rails root' do
|
33
|
-
expect(described_class.ignorefile_path).to eq(Rails.root.join('config/deprecations.ignore'))
|
34
|
-
end
|
35
|
-
|
36
|
-
context 'when env var is set' do
|
37
|
-
before do
|
38
|
-
allow(ENV).to receive(:[]).with('UNCRUFT_IGNOREFILE_PATH').and_return('/path/to/file.txt')
|
39
|
-
end
|
40
|
-
|
41
|
-
it 'uses env var' do
|
42
|
-
expect(described_class.ignorefile_path).to eq('/path/to/file.txt')
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|