Class: WorkerPlugins::QueryLinksStatus
Instance Method Summary
collapse
#db_now_value, #mysql?, #postgres?, #quote, #quote_column, #quote_table, #sqlite?
Instance Method Details
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'app/services/worker_plugins/query_links_status.rb', line 4
def perform
checked_count = workplace
.workplace_links
.where(resource_type: query.klass.name, resource_id: query_with_selected_ids)
.count
query_count = query.count
succeed!(
all_checked: query_count == checked_count,
checked_count:,
query_count:,
some_checked: checked_count.positive? && checked_count < query_count
)
end
|
#query_with_selected_ids ⇒ Object
20
21
22
23
24
25
26
|
# File 'app/services/worker_plugins/query_links_status.rb', line 20
def query_with_selected_ids
WorkerPlugins::SelectColumnWithTypeCast.execute!(
column_name_to_select: query.klass.primary_key,
column_to_compare_with: WorkerPlugins::WorkplaceLink.column_for_attribute(:resource_id),
query: query.distinct
)
end
|