Sha256: 73cb5f9baedd8a3a5944f0a1829ca6a2b48ad4fd319c95324da69fa0884629a8

Contents?: true

Size: 817 Bytes

Versions: 38

Compression:

Stored size: 817 Bytes

Contents

module SocialStream
  module Controllers
    # Common methods added to ApplicationController
    module CancanDeviseIntegration
      extend ActiveSupport::Concern
      
      private

      # Catch some authorization errors:
      #
      # * Redirect to home when the user changes the session and the resource
      #   is not accesible with the new representation
      #
      # * Redirect to login if the user is trying to access a protected resource
      #   and she is not authenticated
      def rescue_from_access_denied(exception)
        if user_signed_in?
          if params[:s].present? && controller_name != 'home'
            redirect_to :home
          else
            raise exception
          end
        else
          redirect_to new_user_session_path
        end
      end
    end
  end
end

Version data entries

38 entries across 38 versions & 2 rubygems

Version Path
social_stream-0.24.1 base/lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-base-0.18.1 lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-0.24.0 base/lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-base-0.18.0 lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-0.23.4 base/lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-base-0.17.3 lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-0.23.3 base/lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-base-0.17.2 lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-0.23.2 base/lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-base-0.17.1 lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-0.23.1 base/lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-base-0.17.0 lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-0.22.1 base/lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-base-0.16.4 lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-0.22.0 base/lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-base-0.16.3 lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-0.21.4 base/lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-base-0.16.2 lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-0.21.3 base/lib/social_stream/controllers/cancan_devise_integration.rb
social_stream-0.21.2 base/lib/social_stream/controllers/cancan_devise_integration.rb