Class: Authmagic::Modules::ApplicationFramework

Inherits:
Object
  • Object
show all
Defined in:
lib/authmagic/rails/modules/application_framework.rb

Overview

Base framework for RESTful authentication for Rails.

Defined Under Namespace

Modules: ApplicationControllerMethods, ContextMethods

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ ApplicationFramework

Returns a new instance of ApplicationFramework.



4
5
6
7
8
# File 'lib/authmagic/rails/modules/application_framework.rb', line 4

def initialize(context)
  @context = context
  context.config.session = :session
			context.config.principal = Config.new(:class_name => :user)
end

Instance Method Details

#enrollObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/authmagic/rails/modules/application_framework.rb', line 10

def enroll
  principal = @context.config.principal.class_name
  principal = principal.to_s.camelize.constantize unless principal.is_a?(Class)

  @context.extend(ContextMethods)
  @context.instance_variable_set(:@principal, principal)

  @context.config.session_controller_name ||= "#{@context.config.session.to_s.camelize.pluralize}Controller"
			@context.config.new_session_path ||= :"new_#{@context.config.session}_path"
  @context.config.application_controller.class_eval do
    include ApplicationControllerMethods
helper_method :current_principal_id, :current_principal, :logged_in?, :if_logged_in
  end
end