Module: AuthSlice

Defined in:
lib/auth-slice.rb,
lib/auth-slice/model.rb,
app/models/base_model.rb,
app/models/adapter/datamapper.rb,
app/models/adapter/activerecord.rb,
app/controllers/controller_mixin.rb

Overview

All Slice code is expected to be namespaced inside a module

Defined Under Namespace

Modules: Adapter, BaseModel, ControllerMixin Classes: Application, Users

Class Method Summary collapse

Class Method Details

.activateObject

Activation hook - runs after AfterAppLoads BootLoader



28
29
30
31
# File 'lib/auth-slice.rb', line 28

def self.activate
  AuthSlice.use_adapter(Merb.orm_generator_scope) if Merb.orm_generator_scope != :merb_default
  Object.const_set(Merb::Slices::config[:auth_slice][:user_model_class], AuthSlice::User) if Merb::Slices::config[:auth_slice][:user_model_class]
end

.deactivateObject

Deactivation hook - triggered by Merb::Slices#deactivate



34
35
# File 'lib/auth-slice.rb', line 34

def self.deactivate
end

.initObject

Initialization hook - runs before AfterAppLoads BootLoader



24
25
# File 'lib/auth-slice.rb', line 24

def self.init
end

.setup_router(scope) ⇒ Object

Setup routes inside the host application

Parameters:

  • scope (Merb::Router::Behaviour)

    Routes will be added within this scope (namespace). In fact, any router behaviour is a valid namespace, so you can attach routes at any level of your router setup.



43
44
45
46
47
# File 'lib/auth-slice.rb', line 43

def self.setup_router(scope)
  scope.match('/login').to(:controller => 'users', :action => 'login').name(:login)
  scope.match('/logout').to(:controller => 'users', :action => 'logout').name(:logout)
  scope.match('/signup').to(:controller => 'users', :action => 'signup').name(:signup)
end

.use_adapter(adapter) ⇒ Object



2
3
4
5
# File 'lib/auth-slice/model.rb', line 2

def self.use_adapter(adapter)
  adapter_impl = Object.full_const_get("AuthSlice::Adapter::#{adapter.to_s.to_const_string}")
  adapter_impl.create_user_model
end