Module: RackWarden

Defined in:
lib/rack_warden/app.rb,
lib/rack_warden.rb,
lib/rack_warden.rb,
lib/rack_warden/models.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/rails.rb,
lib/rack_warden/frameworks/sinatra.rb

Overview

Setup the database connection, schema, etc.

Defined Under Namespace

Modules: Frameworks, RackWardenHelpers, Routes, UniversalHelpers, WardenConfig Classes: App, User

Constant Summary collapse

PATH =

Incase you are using this library without the gem loaded.

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

Class Method Summary collapse

Class Method Details

.get_database_configObject

Best guess at framework database settings.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/rack_warden/models.rb', line 5

def self.get_database_config
	#puts ActiveRecord::Base.configurations[(RackWarden::App.environment || :development).to_s].to_yaml
  #conf = case
  case
  when App.database_config.to_s.downcase == 'file'; "sqlite3:///#{Dir.pwd}/rack_warden.sqlite3.db"
  when App.database_config.to_s.downcase == 'auto';
   (ActiveRecord::Base.connection_config rescue nil) ||
   (ActiveRecord::Base.configurations[(RackWarden::App.environment || :development).to_s] rescue nil) ||
   (DataMapper.repository(:default).adapter[:options] rescue nil) ||
  	App.database_default
  when App.database_config; App.database_config
  else App.database_default
  end
  #... sort out environment HERE
  #conf = RackWarden::App.environment || :development).to_s
end

.included(base) ⇒ Object



52
53
54
55
# File 'lib/rack_warden.rb', line 52

def self.included(base)
	puts "RW self.included into BASE #{base}, ID #{base.object_id}"
	App.new base
end

.middleware_classes(app = nil) ⇒ Object

Utility to get middleware stack. Maybe temporary.



37
38
39
40
41
42
43
# File 'lib/rack_warden.rb', line 37

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’)



31
32
33
# File 'lib/rack_warden.rb', line 31

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

.settingsObject

Shortcut/sugar to app



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

def self.settings
	App.settings
end