class SteppedService::Base

Attributes

failed[RW]
finished[RW]
result[R]

Public Class Methods

call(*args, **keyword_args) click to toggle source
# File lib/stepped_service/base.rb, line 89
def self.call(*args, **keyword_args)
  new(*args, **keyword_args).call
end

Public Instance Methods

call() click to toggle source

You can override it, to not use steps

# File lib/stepped_service/base.rb, line 94
def call
  @finished = false
  @failed = false

  steps.each do |step|
    send(step)
    return self if finished? || failed?
  end
  finish!
  self
end
errors() click to toggle source
# File lib/stepped_service/base.rb, line 123
def errors
  # use with errors.add(:network, e.message)
  @errors ||= Errors.new
end
failed?()
Alias for: failure?
failure?() click to toggle source
# File lib/stepped_service/base.rb, line 118
def failure?
  failed == true
end
Also aliased as: failed?
finished?() click to toggle source
# File lib/stepped_service/base.rb, line 110
def finished?
  finished == true
end
steps() click to toggle source
# File lib/stepped_service/base.rb, line 106
def steps
  %i[need to be implemented]
end
success?() click to toggle source
# File lib/stepped_service/base.rb, line 114
def success?
  !failure?
end

Private Instance Methods

fail!() click to toggle source
# File lib/stepped_service/base.rb, line 136
def fail!
  self.failed = true
end
finish!() click to toggle source
# File lib/stepped_service/base.rb, line 132
def finish!
  self.finished = true
end