Sha256: ab2993cfc71bdacbd955638d66807123cc5b2c821673c29669cec4c4841e87c5

Contents?: true

Size: 1.54 KB

Versions: 2

Compression:

Stored size: 1.54 KB

Contents

module Cartoset
  ## Define ControllerMethods
  module Controller
  	## this one manages the usual self.included, klass_eval stuff
    extend ActiveSupport::Concern

    included do
      before_filter :show_setup_wizard_if_uninstalled
    end

    module InstanceMethods

      def features_table_name
        Cartoset::Config['features_table'] || ''
      end

      def show_setup_wizard_if_uninstalled
        redirect_to setup_path if application_not_installed? && development_environment?
      end
      private :show_setup_wizard_if_uninstalled

      def application_installed?
        Cartoset::Config.valid?
      end
      private :application_installed?

      def application_not_installed?
        !Cartoset::Config.valid?
      end
      private :application_not_installed?

      def development_environment?
        Rails.env.development? || Rails.env.test?
      end
      private :development_environment?

      def redirect_back_or_default(default)
        if session[:return_to].nil?
          redirect_to default
        else
          redirect_to session[:return_to]
          session[:return_to] = nil
        end
      end
      private :redirect_back_or_default

      def redirect_back_or_render_action(action)
        if session[:return_to].nil?
          render action
        else
          redirect_to session[:return_to]
          session[:return_to] = nil
        end
      end
      private :redirect_back_or_render_action

    end
  end
end

::ActionController::Base.send :include, Cartoset::Controller if defined?(ActionController)


Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cartoset-0.0.2 lib/application_controller.rb
cartoset-0.0.1 lib/application_controller.rb