summaryrefslogtreecommitdiff
path: root/app/finders/boards/visits_finder.rb
blob: d17a27f72dcc0aa3112f9c7a6474f9977bd38e58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# frozen_string_literal: true

module Boards
  class VisitsFinder
    attr_accessor :params, :current_user, :parent

    def initialize(parent, current_user)
      @current_user = current_user
      @parent = parent
    end

    def execute(count = nil)
      return unless current_user

      recent_visit_model.latest(current_user, parent, count: count)
    end

    alias_method :latest, :execute

    private

    def recent_visit_model
      parent.is_a?(Group) ? BoardGroupRecentVisit : BoardProjectRecentVisit
    end
  end
end