]> git.rkrishnan.org Git - .emacs.d.git/blob - emacs/nxhtml/tests/in/jcl-080802-messages_controller.rb
submodulized .emacs.d setup
[.emacs.d.git] / emacs / nxhtml / tests / in / jcl-080802-messages_controller.rb
1 class MessagesController < BaseController\r
2 \r
3   before_filter :enable_chat\r
4   skip_before_filter :verify_authenticity_token\r
5 \r
6   # GET /messages\r
7   # GET /messages.xml\r
8   def index\r
9     @messages = ChatMessage.to_user(current_user).last_week.all\r
10     \r
11     respond_to do |format|\r
12       format.html # index.html.erb\r
13       format.xml  { render :xml => @messages }\r
14     end\r
15   end\r
16 \r
17   # GET /messages/1\r
18   # GET /messages/1.xml\r
19   def show\r
20     @message = ChatMessage.find(params[:id])\r
21 \r
22     respond_to do |format|\r
23       format.html # show.html.erb\r
24       format.xml  { render :xml => @message }\r
25     end\r
26   end\r
27 \r
28   # POST /messages\r
29   # POST /messages.xml\r
30   def create\r
31     @message = ChatMessage.new(:receiver_id => params[:receiver_id],\r
32                                :message => params[:messageText],\r
33                                :sender => current_user)\r
34 \r
35     if @message.save\r
36       send_message\r
37     end\r
38 \r
39     render :nothing => true\r
40 \r
41   end\r
42 \r
43   protected\r
44 \r
45   def send_message\r
46     formatted_message = render_to_string(:partial => "message_for_chat", :object => @message)\r
47     shooter_action_for_receiver = render_to_string :update do |page|\r
48       page.call "showMessage", @message.sender.to_param, formatted_message\r
49     end\r
50     shooter_action_for_sender = render_to_string :update do |page|\r
51       page.call "showMessage", @message.receiver.to_param, formatted_message\r
52       page.call "messageTextBox.reset"\r
53     end\r
54     Meteor.shoot 'futura-chat', shooter_action_for_sender, [@message.sender.login]\r
55     Meteor.shoot 'futura-chat', shooter_action_for_receiver, [@message.receiver.login]\r
56   end\r
57 end\r