module Comandor

Service Objects

Constants

VERSION

Attributes

result[R]

Public Class Methods

extended(base) click to toggle source

Callback on `extend Comandor`

# File lib/comandor.rb, line 10
def self.extended(base)
  base.prepend(self)
  base.extend(ClassMethods)
end

Public Instance Methods

error(key, message) click to toggle source

Add new error to key array @param key [Symbol] @param message [String] @return [False]

# File lib/comandor.rb, line 61
def error(key, message)
  errors[key] ||= []
  if message.is_a? Array
    errors[key] = errors[key] + message
  else
    errors[key] << message
  end
  false
end
errors() click to toggle source

List of errors @return [Hash<Symbol => Array>]

# File lib/comandor.rb, line 86
def errors
  @errors ||= {}
end
fail?() click to toggle source

Are we failed? @return [Boolean]

# File lib/comandor.rb, line 79
def fail?
  done? && errors?
end
Also aliased as: failed?
failed?()
Alias for: fail?
perform(*args, &block) click to toggle source

@return [self]

Calls superclass method
# File lib/comandor.rb, line 44
def perform(*args, &block)
  raise NoMethodError unless defined?(:perform)
  @result = if self.class.transaction_klass && self.class.transaction_method
              Object.const_get(self.class.transaction_klass).send self.class.transaction_method.to_sym do
                super
              end
            else
              super
            end
  @done = true
  self
end
success?() click to toggle source

Are we done here? @return [Boolean]

# File lib/comandor.rb, line 73
def success?
  done? && !errors?
end

Private Instance Methods

done?() click to toggle source
# File lib/comandor.rb, line 92
def done?
  @done ||= false
end
errors?() click to toggle source
# File lib/comandor.rb, line 96
def errors?
  errors.any?
end