class Jeweler::Service

Attributes

errors[RW]
fatals[RW]
result[RW]
result_message[RW]

Public Class Methods

call(*args) click to toggle source
# File lib/jeweler/service.rb, line 9
def self.call(*args)

  new(*args).tap do |service|
    service.instance_variable_set('@errors', Array.new)
    service.instance_variable_set('@fatals', Array.new)
    service.instance_variable_set('@result_message', '')

    service.instance_variable_set("@result", service.call)

    tapped_errors = service.instance_variable_get('@errors')
    tapped_fatals = service.instance_variable_get('@fatals')

    first_fatal = true
    tapped_fatals.each do |fatal|
      Rails.logger.error 'ServiceObject Fatal Error: ' + fatal
      if first_fatal
        tapped_errors << 'There was an error. Contact Support.'
        first_fatal = false
      end
    end

    service.instance_variable_set('@errors', tapped_errors)

  end
end

Public Instance Methods

call() click to toggle source
# File lib/jeweler/service.rb, line 35
def call
  raise NotImplementedError
end