Module: Lite::Command::Extensions::Errors

Included in:
Procedure
Defined in:
lib/lite/command/extensions/errors.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



26
27
28
# File 'lib/lite/command/extensions/errors.rb', line 26

def included(klass)
  klass.extend(ClassMethods)
end

Instance Method Details

#errored?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/lite/command/extensions/errors.rb', line 36

def errored?
  !errors.empty?
end

#errorsObject



32
33
34
# File 'lib/lite/command/extensions/errors.rb', line 32

def errors
  @errors ||= Lite::Errors::Messages.new
end

#fail!Object



40
41
42
# File 'lib/lite/command/extensions/errors.rb', line 40

def fail!
  raise Lite::Command::ValidationError
end

#failure?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/lite/command/extensions/errors.rb', line 44

def failure?
  called? && errored?
end

#merge_errors!(klass, direction: :from) ⇒ Object



48
49
50
51
52
53
54
55
# File 'lib/lite/command/extensions/errors.rb', line 48

def merge_errors!(klass, direction: :from)
  case direction
  when :from then errors.merge!(klass.errors)
  when :to then klass.errors.merge!(errors)
  end

  nil
end

#merge_exception!(exception, key: :internal) ⇒ Object



57
58
59
60
61
# File 'lib/lite/command/extensions/errors.rb', line 57

def merge_exception!(exception, key: :internal)
  errors.add(key, "#{exception.class} - #{exception.message}")

  nil
end

#result!Object



63
64
65
# File 'lib/lite/command/extensions/errors.rb', line 63

def result!
  result if valid?
end

#statusObject



67
68
69
70
71
# File 'lib/lite/command/extensions/errors.rb', line 67

def status
  return :pending unless called?

  success? ? :success : :failure
end

#success?Boolean

Returns:

  • (Boolean)


73
74
75
# File 'lib/lite/command/extensions/errors.rb', line 73

def success?
  called? && !errored?
end

#validate!Object Also known as: valid?



77
78
79
80
81
# File 'lib/lite/command/extensions/errors.rb', line 77

def validate!
  return true if success?

  fail!
end