Class: MailDude::MessagesController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- MailDude::MessagesController
- Defined in:
- app/controllers/mail_dude/messages_controller.rb
Instance Method Summary collapse
- #clear ⇒ Object
- #destroy ⇒ Object
- #html ⇒ Object
- #index ⇒ Object
- #message_headers ⇒ Object
- #raw ⇒ Object
- #show ⇒ Object
- #text ⇒ Object
Instance Method Details
#clear ⇒ Object
44 45 46 47 |
# File 'app/controllers/mail_dude/messages_controller.rb', line 44 def clear count = MailDude.store.clear redirect_to , notice: "#{count} messages cleared." end |
#destroy ⇒ Object
38 39 40 41 42 |
# File 'app/controllers/mail_dude/messages_controller.rb', line 38 def destroy raise MessageNotFoundError, 'Message not found' unless MailDude.store.delete(params[:id]) redirect_to , notice: 'Message deleted.' end |
#html ⇒ Object
16 17 18 19 20 21 22 |
# File 'app/controllers/mail_dude/messages_controller.rb', line 16 def html presenter = presenter_for(params[:id]) response.headers['Content-Security-Policy'] = "default-src 'none'; img-src 'self' data:; style-src 'unsafe-inline'; font-src data:; " \ "base-uri 'none'; form-action 'none'; script-src 'none'" render html: renderer_for(presenter).render.html_safe, layout: false end |
#index ⇒ Object
7 8 9 |
# File 'app/controllers/mail_dude/messages_controller.rb', line 7 def index @selected_message = end |
#message_headers ⇒ Object
28 29 30 |
# File 'app/controllers/mail_dude/messages_controller.rb', line 28 def render plain: presenter_for(params[:id]).raw_headers.presence || 'This message does not include headers.' end |
#raw ⇒ Object
32 33 34 35 36 |
# File 'app/controllers/mail_dude/messages_controller.rb', line 32 def raw record = MailDude.store.find(params[:id]) response.headers['Content-Disposition'] = %(inline; filename="#{record.id}.eml") render plain: record.raw_source, content_type: 'text/plain' end |
#show ⇒ Object
11 12 13 14 |
# File 'app/controllers/mail_dude/messages_controller.rb', line 11 def show @selected_message = MailDude.store.find(params[:id]) render :index end |
#text ⇒ Object
24 25 26 |
# File 'app/controllers/mail_dude/messages_controller.rb', line 24 def text render plain: presenter_for(params[:id]).text_body.presence || 'This message does not include a plain text body.' end |