Class: Diffs::OverflowWarningComponent

Inherits:
BaseComponent
  • Object
show all
Defined in:
app/components/diffs/overflow_warning_component.rb

Instance Method Summary collapse

Constructor Details

#initialize(diffs:, diff_files:, project:, commit: nil, merge_request: nil) ⇒ OverflowWarningComponent

Returns a new instance of OverflowWarningComponent.



5
6
7
8
9
10
11
# File 'app/components/diffs/overflow_warning_component.rb', line 5

def initialize(diffs:, diff_files:, project:, commit: nil, merge_request: nil)
  @diffs = diffs
  @diff_files = diff_files
  @project = project
  @commit = commit
  @merge_request = merge_request
end

Instance Method Details

#before_renderObject



13
14
15
# File 'app/components/diffs/overflow_warning_component.rb', line 13

def before_render
  @can_download_files = commit? || merge_request?
end


26
27
28
29
30
31
32
33
34
# File 'app/components/diffs/overflow_warning_component.rb', line 26

def diff_link
  text = _("Plain diff")

  if commit?
    link_button_to text, project_commit_path(@project, @commit, format: :diff), class: 'gl-mr-3'
  elsif merge_request?
    link_button_to text, merge_request_path(@merge_request, format: :diff), class: 'gl-mr-3'
  end
end

#messageObject



17
18
19
20
21
22
23
24
# File 'app/components/diffs/overflow_warning_component.rb', line 17

def message
  safe_format(
    message_text,
    display_size: @diff_files.size,
    real_size: @diffs.real_size,
    **tag_pair(tag.strong, :strong_open, :strong_close)
  )
end

#message_textObject



46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'app/components/diffs/overflow_warning_component.rb', line 46

def message_text
  base_message = _(
    "For a faster browsing experience, only %{strong_open}%{display_size} of %{real_size}%{strong_close} " \
      "files are shown."
  )
  download_message = _("Download one of the files below to see all changes.")

  if @can_download_files
    "#{base_message} #{download_message}"
  else
    base_message
  end
end


36
37
38
39
40
41
42
43
44
# File 'app/components/diffs/overflow_warning_component.rb', line 36

def patch_link
  text = _("Email patch")

  if commit?
    link_button_to text, project_commit_path(@project, @commit, format: :patch)
  elsif merge_request?
    link_button_to text, merge_request_path(@merge_request, format: :patch)
  end
end