Class: MessagesController

Inherits:
ApplicationController
  • Object
show all
Includes:
PageAndSortHelper, PageAndSortHelper::Controller
Defined in:
lib/generators/kitestrings/message_templates/messages_controller.rb

Instance Method Summary collapse

Methods included from PageAndSortHelper::Controller

#page_and_sort

Methods included from PageAndSortHelper

#sort_column, #sort_direction, #sortable_title

Instance Method Details

#indexObject



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/generators/kitestrings/message_templates/messages_controller.rb', line 15

def index
  @messages =
      case
        when @user
          @user.messages
        when can?(:index_all, Message)
          Message
        else
          current_user.messages
      end

  @messages = page_and_sort(@messages, default_sort: :created_at, default_direction: :desc)
end

#showObject

this one controller action has two totally different functions:

  1. /users/1/messages/3 => show the message content

  2. /messages/3 => mark the message clicked at time and redirect to the link in the message.



33
34
35
36
37
38
39
40
# File 'lib/generators/kitestrings/message_templates/messages_controller.rb', line 33

def show
  if @user
    # show
  else
    @message.update_column(:clicked_at, Time.now) if current_user == @message.user
    redirect_to @message.link
  end
end