Module: Uncruft::Warning
- Defined in:
- lib/uncruft/warning.rb
Constant Summary collapse
- DEPRECATION_PATTERN =
/(deprecation|deprecated)/i- EXPECTED_INTERNAL_FRAMES =
Version-pinned: which internal frames are allowed at clocs. Empty array = no internal frames expected. Missing key = unknown combo.
{ ["3.2", "7.2"] => [], ["3.2", "8.0"] => [], ["3.3", "7.2"] => [], ["3.3", "8.0"] => [], ["3.4", "7.2"] => [], ["3.4", "8.0"] => ['prism/polyfill/warn.rb'], }.freeze
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.expected_internal_frames ⇒ Object
18 19 20 21 22 |
# File 'lib/uncruft/warning.rb', line 18 def self.expected_internal_frames ruby_minor = RUBY_VERSION.split('.')[0..1].join('.') rails_minor = Rails::VERSION::STRING.split('.')[0..1].join('.') EXPECTED_INTERNAL_FRAMES[[ruby_minor, rails_minor]] end |
Instance Method Details
#warn(*args, **kwargs) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/uncruft/warning.rb', line 24 def warn(*args, **kwargs) str = args[0] if str =~ DEPRECATION_PATTERN # rubocop:disable Performance/RegexpMatch cloc = find_caller_location(caller_locations(1..5)) = strip_caller_info(str, cloc).strip Uncruft.deprecator.warn() else super end end |