Class: WorkerPlugins::SwitchQuery

Inherits:
ApplicationService show all
Defined in:
app/services/worker_plugins/switch_query.rb

Instance Method Summary collapse

Methods inherited from ApplicationService

#db_now_value, #mysql?, #postgres?, #quote, #quote_column, #quote_table, #sqlite?

Instance Method Details

#performObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/services/worker_plugins/switch_query.rb', line 4

def perform
  add_query_service = WorkerPlugins::AddQuery.new(query:, workplace:)
  created = add_query_service.created

  if created.empty?
    result = WorkerPlugins::RemoveQuery.execute!(query:, workplace:)
    succeed!(
      destroyed: result.fetch(:destroyed),
      mode: :destroyed
    )
  else
    succeed!(
      created: add_query_service.tap(&:add_query_to_workplace).created,
      mode: :created
    )
  end
end