Sha256: 22bfd441a8a6578c4d3426a2ea4b83ae8131f65c1b418a22eedc29f1059bdf71

Contents?: true

Size: 1.71 KB

Versions: 8

Compression:

Stored size: 1.71 KB

Contents

module Challah
  require 'abstract_controller/rendering'

  class Engine < Rails::Engine
    initializer 'challah.router' do |app|
      app.routes_reloader.paths.insert(0, File.expand_path(File.join(File.dirname(__FILE__), 'routes.rb')))
    end

    initializer 'challah.active_record' do |app|
      ActiveSupport.on_load :active_record do
        Challah::Engine.setup_active_record!
      end
    end

    initializer 'challah.action_controller' do |app|
      ActiveSupport.on_load :action_controller do
        Challah::Engine.setup_action_controller!
      end
    end

    class << self
      # Set up controller methods
      def setup_action_controller!
        if defined?(ActionController)
          ActionController::Base.send(:include, Challah::Controller)
          ActionController::Base.send(:helper_method,
            :current_user_session,
            :current_user,
            :current_user?,
            :logged_in?,
            :signed_in?
          )

          # Load any ActionController/Challah plugins
          Challah.plugins.values.each do |plugin|
            plugin.action_controller.each do |proc|
              proc.call
            end
          end
        end
      end

      # Set up active record with Challah methods
      def setup_active_record!
        if defined?(ActiveRecord)
          Challah.options[:logger] = ActiveRecord::Base.logger

          ActiveRecord::Base.send(:extend, Challah::User)
          ActiveRecord::Base.send(:include, Challah::Audit)

          # Load any ActiveRecord/Challah plugins
          Challah.plugins.values.each do |plugin|
            plugin.active_record.each do |proc|
              proc.call
            end
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 7 versions & 2 rubygems

Version Path
challah-rolls-0.2.0 vendor/bundle/gems/challah-0.8.0.pre/lib/challah/railtie.rb
challah-rolls-0.2.0 vendor/bundle/gems/challah-0.8.3/lib/challah/railtie.rb
challah-0.8.3 lib/challah/railtie.rb
challah-0.8.2 lib/challah/railtie.rb
challah-0.8.1 lib/challah/railtie.rb
challah-0.8.0 lib/challah/railtie.rb
challah-rolls-0.1.0 vendor/bundle/gems/challah-0.8.0.pre/lib/challah/railtie.rb
challah-0.8.0.pre lib/challah/railtie.rb