module IceCube::Deprecated

Public Class Methods

schedule_options(schedule, options) click to toggle source
# File lib/ice_cube/deprecated.rb, line 29
def self.schedule_options(schedule, options)
  if options[:start_date_override]
    warn "IceCube: :start_date_override option is deprecated " \
         "(use a block: `{|s| s.start_time = override }`)", caller[0]
    schedule.start_time = options[:start_date_override]
  end
end

Public Instance Methods

deprecated(name, replacement) click to toggle source

Deprecate a defined method @param [Symbol] name - name of deprecated method @param [Symbol] replacement - name of the desired replacement

# File lib/ice_cube/deprecated.rb, line 18
def deprecated(name, replacement)
  # 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|
    warn "IceCube: #{self.class}##{name} is deprecated (use #{replacement})", caller[0]
    send old_name, *args, &block
  end
end
deprecated_alias(name, replacement) click to toggle source

Define a deprecated alias for a method @param [Symbol] name - name of method to define @param [Symbol] replacement - name of method to replace (alias)

# File lib/ice_cube/deprecated.rb, line 7
def deprecated_alias(name, replacement)
  # Create a wrapped version
  define_method(name) do |*args, &block|
    warn "IceCube: #{self.class}##{name} is deprecated (use #{replacement})", caller[0]
    send replacement, *args, &block
  end
end