Module: ExternalServices::Action

Extended by:
ActiveSupport::Concern
Included in:
ApiAction
Defined in:
app/models/concerns/external_services/action.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

QUEUE_PREFIX =
'external_services'

Instance Method Summary collapse

Instance Method Details

#execute!Object

Raises:

  • (NotImplementedError)


22
23
24
# File 'app/models/concerns/external_services/action.rb', line 22

def execute!
  raise NotImplementedError
end

#kick_active_jobObject



26
27
28
29
30
# File 'app/models/concerns/external_services/action.rb', line 26

def kick_active_job
  # return if processed? || api_disabled?

  job_class.set(queue: prefixed_queue).perform_later(id)
end

#prefixed_queueObject



32
33
34
# File 'app/models/concerns/external_services/action.rb', line 32

def prefixed_queue
  [QUEUE_PREFIX, queue].join('__')
end

#processed?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'app/models/concerns/external_services/action.rb', line 14

def processed?
  processed_at.present?
end

#set_processed!Object



18
19
20
# File 'app/models/concerns/external_services/action.rb', line 18

def set_processed!
  update_attributes! processed_at: Time.now
end