class Operations::Errors::InvalidOperationError

Public Class Methods

new(operation, msg=nil) click to toggle source
Calls superclass method
# File lib/operations/errors/invalid_operation_error.rb, line 4
def initialize(operation, msg=nil)
  if operation.class == Operations::Operation
    cause = "Cause:"
    has_cause = false
    unless operation.has_valid_name?
      cause += " invalid name"
      has_cause = true
    end
    unless operation.has_valid_scope?
      cause += " invalid scope `#{operation.invalid_scope}'"
      has_cause = true
    end
    cause "Unknown cause." unless has_cause
    message = "The operation #{operation} is not valid. #{cause}"
  else
    message = "Invalid operation object. Cause: `#{operation}'."
  end
  message += " Additional info: #{msg}" if msg
  super(message)
end