pboling/an_axe

View on GitHub
app/controllers/an_axe/forums/monitorships_controller.rb

Summary

Maintainability
A
0 mins
Test Coverage
module AnAxe
  module Forums
    class MonitorshipsController < ApplicationController
      before_filter :login_required

      cache_sweeper AnAxe::MonitorshipsSweeper, :only => [:create, :destroy]

      def create
        @monitorship = Monitorship.find_or_initialize_by_user_id_and_topic_id(current_user.id, params[:topic_id])
        @monitorship.update_attribute :active, true
        respond_to do |format|
          format.html { redirect_to forums_forum_topic_path(params[:forum_id], params[:topic_id]) }
          format.js
        end
      end

      def destroy
        Monitorship.update_all ['active = ?', false], ['user_id = ? and topic_id = ?', current_user.id, params[:topic_id]]
        respond_to do |format|
          format.html { redirect_to forums_forum_topic_path(params[:forum_id], params[:topic_id]) }
          format.js
        end
      end
    end
  end
end