Sha256: e98aa54dfbab55a0bcf93792cdd6ceae71bd4603184d25cca3bc0c5e0877417a

Contents?: true

Size: 927 Bytes

Versions: 6

Compression:

Stored size: 927 Bytes

Contents

require_dependency "letter_opener_web/application_controller"

module LetterOpenerWeb
  class LettersController < ApplicationController
    def index
      @letters = Letter.search
    end

    def show
      letter = Letter.find(params[:id])
      text   = letter.send("#{params[:style]}_text").
        gsub(/"plain\.html"/, "\"#{letter_path(:id => letter.id, :style => 'plain')}\"").
        gsub(/"rich\.html"/, "\"#{letter_path(:id => letter.id, :style => 'rich')}\"")
      render :text => text
    end

    def attachment
      letter   = Letter.find(params[:id])
      filename = "#{params[:file]}.#{params[:format]}"

      if file = letter.attachments[filename]
        send_file(file, :filename => filename, :disposition => 'inline')
      else
        render :text => 'Attachment not found!', :status => 404
      end
    end

    def clear
      Letter.destroy_all
      redirect_to letters_path
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
letter_opener_web-1.1.3 app/controllers/letter_opener_web/letters_controller.rb
letter_opener_web-1.1.2 app/controllers/letter_opener_web/letters_controller.rb
letter_opener_web-1.1.1 app/controllers/letter_opener_web/letters_controller.rb
letter_opener_web-1.1.0 app/controllers/letter_opener_web/letters_controller.rb
letter_opener_web-1.0.3 app/controllers/letter_opener_web/letters_controller.rb
letter_opener_web-1.0.2 app/controllers/letter_opener_web/letters_controller.rb