class AppBase::Engine::AppBaseEngineInitializer
Public Class Methods
new()
click to toggle source
# File lib/appbase/railtie.rb, line 88 def initialize @initialized = false @hooks = [] end
Public Instance Methods
after_initialized(&block)
click to toggle source
# File lib/appbase/railtie.rb, line 104 def after_initialized(&block) if @initialized block.call else @hooks << block end end
bootstrap(app_config)
click to toggle source
# File lib/appbase/railtie.rb, line 93 def bootstrap(app_config) return if @initialized @config = app_config.appbase initialize_user_identity initialize_crud_stubs initialize_rpc_stubs finilize_routes post_initialize @initialized = true end
Private Instance Methods
finilize_routes()
click to toggle source
# File lib/appbase/railtie.rb, line 142 def finilize_routes AppBase::Engine.routes.draw do get "/appbase_version" => "app_base#version" end end
initialize_crud_stubs()
click to toggle source
# File lib/appbase/railtie.rb, line 130 def initialize_crud_stubs AppBase::Registry.each_crud @config.models do |model, op| CrudInitializer.new(model, op).init end end
initialize_rpc_stubs()
click to toggle source
# File lib/appbase/railtie.rb, line 136 def initialize_rpc_stubs AppBase::Registry.each_rpc do |r| RpcMethodInitializer.new(r).init end end
initialize_user_identity()
click to toggle source
# File lib/appbase/railtie.rb, line 124 def initialize_user_identity pre_init_user_identity AppBase::Engine.const_set :UserIdentity, @config.user_identity.to_s.extend(AppBase::StringExtension) AppBaseController.define_useridentity @config.user_identity, @config.token_store, @config.token_key_user, @config.token_key_session end
post_initialize()
click to toggle source
# File lib/appbase/railtie.rb, line 148 def post_initialize blocks, @hooks = @hooks, [] blocks.each do |block| block.call end end
pre_init_user_identity()
click to toggle source
# File lib/appbase/railtie.rb, line 114 def pre_init_user_identity if @config.user_identity.nil? raise "AppBase configuration error: please use `config.appbase.user_identity = :UserIdentity` to specify the user identity model; and implement UserIdentity.authenticate_by_token(user, token):UserIdentity method." end user_identity = Object.const_get @config.user_identity.to_sym if !user_identity.respond_to?(:authenticate_by_token) || user_identity.method(:authenticate_by_token).parameters.count != 2 raise "It's required to implement UserIdentity.authenticate_by_token(user, token):UserIdentity method." end end