Module: Sequencescape::Api::Rails::ApplicationController

Defined in:
lib/sequencescape-api/rails.rb

Overview

Including this module into your Rails ApplicationController adds a before filter that will provide a user (based on the WTSISignOn cookie) specific Sequencescape::Api instance to use, accessible through ‘api`.

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/sequencescape-api/rails.rb', line 6

def self.included(base)
  base.class_eval do
    attr_reader :api
    private :api

    if respond_to?(:before_action)
      before_action :configure_api
    else
      before_filter :configure_api
    end

    # Order is important here: later ones override earlier.
    rescue_from(::Sequencescape::Api::Error,                :with => :sequencescape_api_error_handler)
    rescue_from(::Sequencescape::Api::UnauthenticatedError, :with => :sequencescape_api_unauthenticated_handler)
  end
end