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.
10 11 12 |
# File 'lib/sanitize_email/deprecation.rb', line 10 def deprecate_in_silence @deprecate_in_silence end |
Instance Method Details
#deprecated(name, replacement = nil) ⇒ Object
Deprecate a defined method
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/sanitize_email/deprecation.rb', line 29 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| self.deprecation(name, " (please use ##{replacement})") send old_name, *args, &block end end |
#deprecated_alias(name, replacement) ⇒ Object
Define a deprecated alias for a method
18 19 20 21 22 23 24 |
# File 'lib/sanitize_email/deprecation.rb', line 18 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
40 41 42 43 44 45 46 |
# File 'lib/sanitize_email/deprecation.rb', line 40 def deprecation(name, replacement = nil) if replacement ("SanitizeEmail: ##{name} deprecated#{replacement}") else ("SanitizeEmail: ##{name} deprecated") end end |
#deprecation_warning_message(message) ⇒ Object
48 49 50 |
# File 'lib/sanitize_email/deprecation.rb', line 48 def () warn unless SanitizeEmail::Deprecation.deprecate_in_silence end |