Class: SteppedService::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/stepped_service/base.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#resultObject (readonly)

Returns the value of attribute result.



87
88
89
# File 'lib/stepped_service/base.rb', line 87

def result
  @result
end

Class Method Details

.call(*args, **keyword_args) ⇒ Object



89
90
91
92
93
94
95
96
97
# File 'lib/stepped_service/base.rb', line 89

def self.call(*args, **keyword_args)
  if args.blank?
    new(**keyword_args).call
  elsif keyword_args.blank?
    new(*args).call
  else
    new(*args, **keyword_args).call
  end
end

Instance Method Details

#callObject

You can override it, to not use steps



100
101
102
103
104
105
106
107
108
109
110
# File 'lib/stepped_service/base.rb', line 100

def call
  @finished = false
  @failed = false

  steps.each do |step|
    send(step)
    return self if finished? || failed?
  end
  finish!
  self
end

#errorsObject



129
130
131
132
# File 'lib/stepped_service/base.rb', line 129

def errors
  # use with errors.add(:network, e.message)
  @errors ||= Errors.new
end

#failure?Boolean Also known as: failed?

Returns:

  • (Boolean)


124
125
126
# File 'lib/stepped_service/base.rb', line 124

def failure?
  failed == true
end

#finished?Boolean

Returns:

  • (Boolean)


116
117
118
# File 'lib/stepped_service/base.rb', line 116

def finished?
  finished == true
end

#stepsObject



112
113
114
# File 'lib/stepped_service/base.rb', line 112

def steps
  %i[need to be implemented]
end

#success?Boolean

Returns:

  • (Boolean)


120
121
122
# File 'lib/stepped_service/base.rb', line 120

def success?
  !failure?
end