Class: MergeRequestsFinder::Params

Inherits:
IssuableFinder::Params show all
Defined in:
app/finders/merge_requests_finder/params.rb

Constant Summary

Constants inherited from IssuableFinder::Params

IssuableFinder::Params::FILTER_ANY, IssuableFinder::Params::FILTER_NONE, IssuableFinder::Params::FILTER_STARTED, IssuableFinder::Params::FILTER_UPCOMING, IssuableFinder::Params::NONE

Instance Attribute Summary

Attributes inherited from IssuableFinder::Params

#current_user, #klass

Instance Method Summary collapse

Methods inherited from IssuableFinder::Params

#current_user_related?, #filter_by_any_milestone?, #filter_by_any_reaction?, #filter_by_any_release?, #filter_by_no_milestone?, #filter_by_no_reaction?, #filter_by_no_release?, #filter_by_started_milestone?, #filter_by_upcoming_milestone?, #find_group_projects, #group, #group?, #group_id, #initialize, #merge, #merge!, #milestones, #milestones?, #parent, #present?, #project, #project?, #project_id, #projects, #related_groups, #releases?, #user_can_see_all_issuables?

Constructor Details

This class inherits a constructor from IssuableFinder::Params

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class IssuableFinder::Params

Instance Method Details

#assigned_review_statesObject



48
49
50
51
52
# File 'app/finders/merge_requests_finder/params.rb', line 48

def assigned_review_states
  return unless params[:assigned_review_states].present?

  params[:assigned_review_states].map { |state| MergeRequestReviewer.states[state] }
end

#assigned_userObject



30
31
32
33
34
35
36
# File 'app/finders/merge_requests_finder/params.rb', line 30

def assigned_user
  strong_memoize(:assigned_user) do
    next unless params[:assigned_user_id].present?

    User.find_by_id(params[:assigned_user_id])
  end
end

#filter_by_any_reviewer?Boolean

Returns:

  • (Boolean)


9
10
11
# File 'app/finders/merge_requests_finder/params.rb', line 9

def filter_by_any_reviewer?
  params[:reviewer_id].to_s.downcase == FILTER_ANY
end

#filter_by_no_reviewer?Boolean

Returns:

  • (Boolean)


5
6
7
# File 'app/finders/merge_requests_finder/params.rb', line 5

def filter_by_no_reviewer?
  params[:reviewer_id].to_s.downcase == FILTER_NONE
end

#ignored_reviewerObject



23
24
25
26
27
# File 'app/finders/merge_requests_finder/params.rb', line 23

def ignored_reviewer
  return unless params[:ignored_reviewer_username].present?

  User.find_by_username(params[:ignored_reviewer_username])
end

#merge_userObject



38
39
40
41
42
43
44
45
46
# File 'app/finders/merge_requests_finder/params.rb', line 38

def merge_user
  strong_memoize(:merge_user) do
    if merge_user_id?
      User.find_by_id(params[:merge_user_id])
    elsif merge_user_username?
      User.find_by_username(params[:merge_user_username])
    end
  end
end

#not_review_statesObject



68
69
70
71
72
# File 'app/finders/merge_requests_finder/params.rb', line 68

def not_review_states
  return unless params[:not][:review_states].present?

  params[:not][:review_states].map { |state| MergeRequestReviewer.states[state] }
end

#review_stateObject



60
61
62
63
64
65
66
# File 'app/finders/merge_requests_finder/params.rb', line 60

def review_state
  if params[:review_state].present?
    MergeRequestReviewer.states[params[:review_state]]
  elsif params[:review_states].present?
    params[:review_states].map { |state| MergeRequestReviewer.states[state] }
  end
end

#reviewerObject



13
14
15
16
17
18
19
20
21
# File 'app/finders/merge_requests_finder/params.rb', line 13

def reviewer
  strong_memoize(:reviewer) do
    if reviewer_id?
      User.find_by_id(params[:reviewer_id])
    elsif reviewer_username?
      User.find_by_username(params[:reviewer_username])
    end
  end
end

#reviewer_review_statesObject



54
55
56
57
58
# File 'app/finders/merge_requests_finder/params.rb', line 54

def reviewer_review_states
  return unless params[:reviewer_review_states].present?

  params[:reviewer_review_states].map { |state| MergeRequestReviewer.states[state] }
end