Module: RackWarden

Defined in:
lib/rack_warden/models.rb,
lib/rack_warden.rb,
lib/rack_warden.rb,
lib/rack_warden/app.rb,
lib/rack_warden/env.rb,
lib/rack_warden/mail.rb,
lib/rack_warden/routes.rb,
lib/rack_warden/warden.rb,
lib/rack_warden/helpers.rb,
lib/rack_warden/version.rb,
lib/rack_warden/frameworks.rb,
lib/rack_warden/models/user.rb,
lib/rack_warden/frameworks/rack.rb,
lib/rack_warden/frameworks/rails.rb,
lib/rack_warden/sinatra/namespace.rb,
lib/rack_warden/frameworks/sinatra.rb,
lib/rack_warden/sinatra/respond_with.rb

Overview

Setup the database connection, schema, etc.

Defined Under Namespace

Modules: AppClassMethods, Env, Frameworks, Model, Namespace, RackWardenHelpers, RespondWith, Routes, UniversalHelpers, WardenConfig Classes: App, Mail, User

Constant Summary collapse

PATH =

Incase you are using this library without the gem loaded.

File.expand_path(File.dirname(__FILE__))
VERSION =
"0.0.10"

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



69
70
71
72
73
# File 'lib/rack_warden.rb', line 69

def self.included(base)
	App.logger.warn "RW self.included into BASE #{base}, ID #{base.object_id}"
	# Force initialize rack_warden, even if not all the settings are known yet.
	#App.new base
end

.middleware_classes(app = nil) ⇒ Object

Utility to get middleware stack. Maybe temporary.



54
55
56
57
58
59
60
# File 'lib/rack_warden.rb', line 54

def self.middleware_classes(app=nil)                                                                                                                                              
  r = [app || Rack::Builder.parse_file(File.join(Dir.pwd, 'config.ru')).first]
  while ((next_app = r.last.instance_variable_get(:@app)) != nil)
    r << next_app
  end
  r.map{|e| e.instance_variable_defined?(:@app) ? e.class : e }
end

.new(*args) ⇒ Object

Make this module a pseudo-class appropriate for middlware stack. Use RackWarden for older rails apps (rather than ‘RackWarden::App’)



48
49
50
# File 'lib/rack_warden.rb', line 48

def self.new(*args)
	App.new(*args)
end

.registered(app) ⇒ Object



75
76
77
78
79
80
# File 'lib/rack_warden.rb', line 75

def self.registered(app)
	App.setup_framework app
	# TODO: Do we need to check installed middleware to make sure we only have one instance of RW,
	# in case someone registers RW with multiple sinatra apps in the same ruby process (which seems to be a common practice)?
	app.use self
end

.settingsObject

Shortcut/sugar to app



65
66
67
# File 'lib/rack_warden.rb', line 65

def self.settings
	App.settings
end