Class: DashOverlord::UseCases::V1::Shared::SearchAndPaginate::ApplyFilters

Inherits:
Base
  • Object
show all
Defined in:
lib/dash_overlord/use_cases/v1/shared/search_and_paginate/apply_filters.rb

Constant Summary

Constants inherited from Base

Base::AbortError

Instance Attribute Summary

Attributes inherited from Base

#context

Instance Method Summary collapse

Methods inherited from Base

context_reader, #final, #initialize, perform, target, #target_valid?

Constructor Details

This class inherits a constructor from DashOverlord::UseCases::Base

Instance Method Details

#performObject



12
13
14
15
16
17
18
19
20
# File 'lib/dash_overlord/use_cases/v1/shared/search_and_paginate/apply_filters.rb', line 12

def perform
  return unless resources.respond_to?(:ransack)

  context.search_builder = resources.ransack(filter_query.presence)

  return unless context.search_builder.respond_to?(:result)

  context.resources = context.search_builder.result(distinct: true)
end