module Backup::Config::Helpers::ClassMethods
Public Instance Methods
clear_defaults!()
click to toggle source
Used only within the specs
# File lib/backup/config/helpers.rb, line 22 def clear_defaults! defaults.reset! end
defaults() { |defaults| ... }
click to toggle source
# File lib/backup/config/helpers.rb, line 11 def defaults @defaults ||= Config::Defaults.new if block_given? yield @defaults else @defaults end end
deprecations()
click to toggle source
# File lib/backup/config/helpers.rb, line 26 def deprecations @deprecations ||= {} end
log_deprecation_warning(name, deprecation)
click to toggle source
# File lib/backup/config/helpers.rb, line 30 def log_deprecation_warning(name, deprecation) msg = "#{self}##{name} has been deprecated as of " \ "backup v.#{deprecation[:version]}" msg << "\n#{deprecation[:message]}" if deprecation[:message] Logger.warn Config::Error.new(<<-EOS) [DEPRECATION WARNING] #{msg} EOS end
Protected Instance Methods
attr_deprecate(name, args = {})
click to toggle source
Method to deprecate an attribute.
:version
Must be set to the backup version which will first introduce the deprecation.
:action
If set, this Proc will be called with a reference to the class instance and the value set on the deprecated accessor. e.g. deprecation[:action].call(klass, value) This should perform whatever action is neccessary, such as transferring the value to a new accessor.
:message
If set, this will be appended to #log_deprecation_warning
Note that this replaces the ‘attr_accessor` method, or other method previously used to set the accessor being deprecated. method_missing will handle any calls to `name=`.
# File lib/backup/config/helpers.rb, line 63 def attr_deprecate(name, args = {}) deprecations[name] = { version: nil, message: nil, action: nil }.merge(args) end