summaryrefslogtreecommitdiff
path: root/app/controllers/concerns/snippets_actions.rb
blob: ca6dffe1cc57ac1f755547d9adc163f0826579f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module SnippetsActions
  extend ActiveSupport::Concern

  def edit
  end

  def raw
    send_data(
      convert_line_endings(@snippet.content),
      type: 'text/plain; charset=utf-8',
      disposition: 'inline',
      filename: @snippet.sanitized_file_name
    )
  end

  private

  def convert_line_endings(content)
    params[:line_ending] == 'raw' ? content : content.gsub(/\r\n/, "\n")
  end
end