Sha256: 3f645e06e01a2cbf09dee2f9b2d447b46b76228316d8f20c25e326813b2b51b4

Contents?: true

Size: 1.34 KB

Versions: 4

Compression:

Stored size: 1.34 KB

Contents

module Bread
  class Manager
    class Actions
      class TopScope

        def initialize
          @controllers = {}
          add_devise_support
        end

        def controller(controller_path, options={}, &block)
          controller_path = controller_path.to_s
          @controllers[controller_path] = controller_scope = ControllerScope.new(self, controller_path, options)
          controller_scope.instance_eval(&block)
          true
        end

        def get_controller_scope(controller_path)
          @controllers[controller_path.to_s] || raise("no controller #{controller_path} in #{@controllers.keys}")
        end


        private

            def add_devise_support
              return if !defined? Devise
              
              controller 'devise/sessions' do
                actions(:new)  { crumbs :@root, :@devise_sign_in   }
              end
              controller 'devise/registrations' do
                actions(:new)  { crumbs :@root, :@devise_sign_up   }
                actions(:edit) { crumbs :@root, :@devise_edit_user }
              end
              controller 'devise/passwords' do
                actions(:new)  { crumbs :@root, :@devise_sign_in, :@devise_remember }
                actions(:edit) { crumbs :@root, :@devise_sign_in, :@devise_remember }
              end
            end
        
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
bread-0.0.13 lib/bread/manager/actions/top_scope.rb
bread-0.0.12 lib/bread/manager/actions/top_scope.rb
bread-0.0.11 lib/bread/manager/actions/top_scope.rb
bread-0.0.10 lib/bread/manager/actions/top_scope.rb