class Motion::UpgradeNotImplementedError

Attributes

current_revision[R]
previous_revision[R]

Public Class Methods

new(component, previous_revision, current_revision) click to toggle source
Calls superclass method Motion::ComponentError::new
# File lib/motion/errors.rb, line 106
def initialize(component, previous_revision, current_revision)
  super(
    component,
    "Cannot upgrade `#{component.class}` from a previous revision of the " \
    "application (#{previous_revision}) to the current revision of the " \
    "application (#{current_revision})\n" \
    "\n" \
    "By default, Motion does not allow components from other revisions " \
    "of the application to be mounted because new code with old state " \
    "can lead to unpredictable and unsafe behavior.\n" \
    "\n" \
    "Hint: If you would like to allow this component to surive " \
    "deployments, consider providing an alternative implimentation for " \
    "`#{component.class}.upgrade_from`."
  )

  @previous_revision = previous_revision
  @current_revision = current_revision
end