Module: SanitizeEmail::Deprecation
- Included in:
- SanitizeEmail, Bleach, Config
- Defined in:
- lib/sanitize_email/deprecation.rb
Overview
Provides tools that allow methods to be deprecated with new releases of the gem. See www.seejohncode.com/2012/01/09/deprecating-methods-in-ruby/
Class Attribute Summary collapse
-
.deprecate_in_silence ⇒ Object
Returns the value of attribute deprecate_in_silence.
Instance Method Summary collapse
-
#deprecated(name, replacement = nil) ⇒ Object
Deprecate a defined method.
-
#deprecated_alias(name, replacement) ⇒ Object
Define a deprecated alias for a method.
- #deprecation(name, replacement = nil) ⇒ Object
- #deprecation_warning_message(message) ⇒ Object
Class Attribute Details
.deprecate_in_silence ⇒ Object
Returns the value of attribute deprecate_in_silence.
11 12 13 |
# File 'lib/sanitize_email/deprecation.rb', line 11 def deprecate_in_silence @deprecate_in_silence end |
Instance Method Details
#deprecated(name, replacement = nil) ⇒ Object
Deprecate a defined method
30 31 32 33 34 35 36 37 38 39 |
# File 'lib/sanitize_email/deprecation.rb', line 30 def deprecated(name, replacement = nil) # Replace old method old_name = :"#{name}_without_deprecation" alias_method(old_name, name) # And replace it with a wrapped version define_method(name) do |*args, &block| deprecation(name, " (please use ##{replacement})") send(old_name, *args, &block) end end |
#deprecated_alias(name, replacement) ⇒ Object
Define a deprecated alias for a method
19 20 21 22 23 24 25 |
# File 'lib/sanitize_email/deprecation.rb', line 19 def deprecated_alias(name, replacement) # Create a wrapped version define_method(name) do |*args, &block| warn("SanitizeEmail: ##{name} deprecated (please use ##{replacement})") unless SanitizeEmail::Deprecation.deprecate_in_silence send(replacement, *args, &block) end end |
#deprecation(name, replacement = nil) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/sanitize_email/deprecation.rb', line 41 def deprecation(name, replacement = nil) if replacement ("SanitizeEmail: ##{name} deprecated#{replacement}") else ("SanitizeEmail: ##{name} deprecated") end end |
#deprecation_warning_message(message) ⇒ Object
49 50 51 |
# File 'lib/sanitize_email/deprecation.rb', line 49 def () warn() unless SanitizeEmail::Deprecation.deprecate_in_silence end |