Sha256: 76e3faed724de88b6044750912ff85260a450c0aa014c069003419a9cc41009b
Contents?: true
Size: 1.23 KB
Versions: 2
Compression:
Stored size: 1.23 KB
Contents
module ShoppyCartus class ApplicationController < ShoppyCartus.parent_controller.constantize before_action :set_order, :set_locale, :current_ability [CanCan::AccessDenied, ActiveRecord::RecordNotFound, ActionController::RoutingError].each do |error| rescue_from error do |exception| redirect_to order_items_path, alert: exception.message end end define_method "authenticate_#{ShoppyCartus.user_class.downcase}!" do return if current_user redirect_to order_items_path, alert: t('checkout.authorize') end def current_order ShoppyCartus::Order.find_by(id: session[:order_id]) || ShoppyCartus::Order.active_order_for_user(current_user) || new_session_order end def current_ability @current_ability ||= Ability.new(current_user, current_order) end def set_locale I18n.locale = params[:locale] || I18n.default_locale end def default_url_options(*) { locale: I18n.locale == I18n.default_locale ? nil : I18n.locale } end private def set_order @order ||= current_order.decorate end def new_session_order order = ShoppyCartus::Order.create(user: current_user) session[:order_id] = order.id order end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
shoppy_cartus-0.1.2 | app/controllers/shoppy_cartus/application_controller.rb |
shoppy_cartus-0.1.1 | app/controllers/shoppy_cartus/application_controller.rb |