Module: WhittakerTech::Midas::Deprecation
- Defined in:
- lib/whittaker_tech/midas/deprecation.rb
Overview
Emits or raises deprecation notices for Midas API changes.
Behavior is controlled by WhittakerTech::Midas.deprecation_behavior:
:warn - prints a warning to STDERR (default)
:raise - raises a DeprecationError (useful in test mode)
:silence - suppresses all notices
Defined Under Namespace
Classes: DeprecationError
Constant Summary collapse
- HORIZON =
Removal horizon advertised in deprecation messages.
'0.3.0'
Class Method Summary collapse
-
.warn(message, callsite = caller_locations(1, 1).first) ⇒ Object
Emits a deprecation notice for
messageattributed tocallsite.
Class Method Details
.warn(message, callsite = caller_locations(1, 1).first) ⇒ Object
Emits a deprecation notice for message attributed to callsite.
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/whittaker_tech/midas/deprecation.rb', line 20 def self.warn(, callsite = caller_locations(1, 1).first) location = callsite ? "#{callsite.path}:#{callsite.lineno}" : 'unknown' full = "[DEPRECATED] #{} " \ "(called from #{location}). " \ "Will be removed in whittaker_tech-midas #{HORIZON}." case WhittakerTech::Midas.deprecation_behavior when :raise then raise DeprecationError, full when :silence then nil else Kernel.warn full end end |