Class: Gitlab::Suggestions::SuggestionSet

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/suggestions/suggestion_set.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(suggestions) ⇒ SuggestionSet

Returns a new instance of SuggestionSet.



8
9
10
# File 'lib/gitlab/suggestions/suggestion_set.rb', line 8

def initialize(suggestions)
  @suggestions = suggestions
end

Instance Attribute Details

#suggestionsObject (readonly)

Returns the value of attribute suggestions.



6
7
8
# File 'lib/gitlab/suggestions/suggestion_set.rb', line 6

def suggestions
  @suggestions
end

Instance Method Details

#actionsObject



32
33
34
35
36
37
38
39
40
# File 'lib/gitlab/suggestions/suggestion_set.rb', line 32

def actions
  @actions ||= suggestions_per_file.map do |file_suggestion|
    {
      action: 'update',
      file_path: file_suggestion.file_path,
      content: file_suggestion.new_content
    }
  end
end

#authorsObject



46
47
48
# File 'lib/gitlab/suggestions/suggestion_set.rb', line 46

def authors
  suggestions.map { |suggestion| suggestion.note.author }.uniq
end

#branchObject



20
21
22
# File 'lib/gitlab/suggestions/suggestion_set.rb', line 20

def branch
  first_suggestion.branch
end

#error_messageObject



28
29
30
# File 'lib/gitlab/suggestions/suggestion_set.rb', line 28

def error_message
  @error_message ||= _error_message
end

#file_pathsObject



42
43
44
# File 'lib/gitlab/suggestions/suggestion_set.rb', line 42

def file_paths
  @file_paths ||= suggestions.map(&:file_path).uniq
end

#source_projectObject



12
13
14
# File 'lib/gitlab/suggestions/suggestion_set.rb', line 12

def source_project
  first_suggestion.source_project
end

#target_projectObject



16
17
18
# File 'lib/gitlab/suggestions/suggestion_set.rb', line 16

def target_project
  first_suggestion.target_project
end

#valid?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/gitlab/suggestions/suggestion_set.rb', line 24

def valid?
  error_message.nil?
end