Class: SourceMonitor::Logs::Query

Inherits:
Object
  • Object
show all
Defined in:
lib/source_monitor/logs/query.rb

Defined Under Namespace

Classes: Result

Instance Method Summary collapse

Constructor Details

#initialize(params:) ⇒ Query

Returns a new instance of Query.



43
44
45
# File 'lib/source_monitor/logs/query.rb', line 43

def initialize(params:)
  @filter_set = SourceMonitor::Logs::FilterSet.new(params:)
end

Instance Method Details

#callObject



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/source_monitor/logs/query.rb', line 47

def call
  pagination_result = SourceMonitor::Pagination::Paginator.new(
    scope: filtered_scope,
    page: filter_set.page,
    per_page: filter_set.per_page
  ).paginate

  Result.new(
    entries: pagination_result.records,
    page: pagination_result.page,
    per_page: pagination_result.per_page,
    has_next_page: pagination_result.has_next_page?,
    has_previous_page: pagination_result.has_previous_page?,
    total_count: pagination_result.total_count,
    filter_set:
  )
end