47 lines
1.1 KiB
Ruby
47 lines
1.1 KiB
Ruby
module Locomotive
|
|
module Api
|
|
class BaseController < ApplicationController
|
|
|
|
include Locomotive::Routing::SiteDispatcher
|
|
include Locomotive::ActionController::LocaleHelpers
|
|
|
|
skip_before_filter :verify_authenticity_token
|
|
|
|
before_filter :require_account
|
|
|
|
before_filter :require_site
|
|
|
|
before_filter :set_locale
|
|
|
|
before_filter :set_current_thread_variables
|
|
|
|
self.responder = Locomotive::ActionController::Responder # custom responder
|
|
|
|
respond_to :json, :xml
|
|
|
|
protected
|
|
|
|
def set_current_thread_variables
|
|
Thread.current[:account] = current_locomotive_account
|
|
Thread.current[:site] = current_site
|
|
end
|
|
|
|
def current_ability
|
|
@current_ability ||= Ability.new(current_locomotive_account, current_site)
|
|
end
|
|
|
|
def require_account
|
|
authenticate_locomotive_account!
|
|
end
|
|
|
|
def set_locale
|
|
::Mongoid::Fields::I18n.locale = params[:locale] || current_site.default_locale
|
|
::I18n.locale = ::Mongoid::Fields::I18n.locale
|
|
|
|
self.setup_i18n_fallbacks
|
|
end
|
|
|
|
end
|
|
end
|
|
end
|