class Raes::Dispatch

Public Class Methods

new(name, payload = {}) click to toggle source
# File lib/raes/dispatch.rb, line 7
def initialize(name, payload = {})
  @action = Action.create(name: name)
  @payload = payload
end

Public Instance Methods

call() click to toggle source
# File lib/raes/dispatch.rb, line 12
def call
  @action.payload = create_payload.to_json
  SubscribeJob.perform_later(@action) if @action.save
  @action
end
create_payload() click to toggle source
# File lib/raes/dispatch.rb, line 18
def create_payload
  if @payload[:raes_storage].present?
    storage = @action.storages.create(name: @action.name, content: @payload[:raes_storage])
    @payload.delete(:raes_storage)
    @payload[:raes_storage_id] = storage.id
  end
  @payload
end