rack_warden 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ Zjc4YzFlOTkwNzRhN2EyNjVmZWJjZDZmOGEzZTZjNjY5NmE1YjQ3OA==
5
+ data.tar.gz: !binary |-
6
+ NzFlMzJjNmE5ZGM5ZGRhYzVkYmZhNzRmMDFlY2ExODkzMTM0MzhmYQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ ZmVhMmMyMmI1MTI0NDRmNmEwYzA1YWQ0MTE2YjdiM2M3NGI0OTQwM2VmNDgz
10
+ ZTY5MGVlOGJlODY4ZjM3ZDBlNWI0YTE0MmQxN2QwN2Y1Y2I2MmI2ZmVmZjc1
11
+ NzIwNGFiNTM1MzBiZTM0MWI5YWIxY2VkMDYyNmM5ZjFjZjgxYTI=
12
+ data.tar.gz: !binary |-
13
+ NzgyMWUwMzcwYWIzYTZkMjJkODdmODY4ZTkzYzlmYTE5OWNkMmY1NTJhOTZk
14
+ YTEwNTgwMTUwYjhiNDQyMzQwYmEyYTZhMzY2YzA0OTIxYjMzYzk2YjIzMWJl
15
+ NWM4Y2E4NzcxZmY4ZTgzYjMzNjU5ZmJkN2JlYjA4MjE4ZGYyMzk=
data/lib/rack_warden.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module RackWarden
2
2
  # Incase you are using this library without the gem loaded.
3
3
  PATH = File.expand_path(File.dirname(__FILE__))
4
- puts "RW PATH #{PATH}"
4
+ #puts "RW PATH #{PATH}"
5
5
  $LOAD_PATH.unshift(PATH) unless $LOAD_PATH.include?(PATH)
6
6
  end
7
7
 
@@ -11,13 +11,7 @@ require 'bcrypt'
11
11
  require 'data_mapper'
12
12
  require 'warden'
13
13
  require 'open-uri'
14
-
15
- # gem 'data_mapper'
16
- # gem 'dm-sqlite-adapter'
17
- # gem 'warden'
18
-
19
- # require "rack_warden/app"
20
- # require "rack_warden/version"
14
+ require 'yaml'
21
15
 
22
16
  module RackWarden
23
17
  autoload :App, 'rack_warden/app'
@@ -29,4 +23,28 @@ module RackWarden
29
23
  autoload :Sinatra, 'rack_warden/frameworks/sinatra'
30
24
  autoload :Rails, 'rack_warden/frameworks/rails'
31
25
  end
26
+
27
+ # Make this module a pseudo-class appropriate for middlware stack. Use RackWarden for older rails apps (rather than 'RackWarden::App')
28
+ def self.new(*args)
29
+ App.new(*args)
30
+ end
31
+
32
+
33
+ # Utility to get middleware stack. Maybe temporary.
34
+ def self.middleware_classes(app=nil)
35
+ r = [app || Rack::Builder.parse_file(File.join(Dir.pwd, 'config.ru')).first]
36
+
37
+ while ((next_app = r.last.instance_variable_get(:@app)) != nil)
38
+ r << next_app
39
+ end
40
+
41
+ r.map{|e| e.instance_variable_defined?(:@app) ? e.class : e }
42
+ end
43
+ #app = Rack::Builder.parse_file('config.ru').first
44
+ #puts middleware_classes(app).inspect
45
+
46
+ def self.settings
47
+ App.settings
48
+ end
49
+
32
50
  end
@@ -14,14 +14,24 @@ module RackWarden
14
14
  set :recaptcha, Hash.new
15
15
  set :require_login, nil
16
16
  set :allow_public_signup, false
17
- set :log_path, File.join(Dir.pwd, 'log', 'rack_warden.log')
17
+ set :log_path, "#{Dir.pwd}/log/rack_warden.#{settings.environment}.log"
18
18
  set :user_table_name, nil
19
+ set :views, File.expand_path("../views/", __FILE__) unless views
20
+ set :initialized, false
19
21
 
20
22
  # Load config from file, if any exist.
21
23
  Hash.new.tap do |hash|
22
- config_files.each {|c| hash.merge! Psych.load_file(c) rescue nil}
24
+ config_files.each {|c| puts File.join(Dir.pwd, c); hash.merge!(YAML.load_file(File.join(Dir.pwd, c))) rescue nil}
23
25
  set hash
24
26
  end
27
+
28
+ begin
29
+ enable :logging
30
+ set :log_file, File.new(settings.log_path, 'a+')
31
+ settings.log_file.sync = true
32
+ use Rack::CommonLogger, settings.log_file
33
+ rescue
34
+ end
25
35
 
26
36
 
27
37
  # WBR - This will receive params and a block from the parent "use" statement.
@@ -30,32 +40,35 @@ module RackWarden
30
40
  # when you call "use RackWarden::App"
31
41
  # Example:
32
42
  #
33
- # use RackWarden::App :layout=>:'my_layout' do |rack_warden_instance, parent_app_instance|
43
+ # use RackWarden::App :layout=>:'my_layout' do |rack_warden_instance, app|
34
44
  # set :myvar, 'something'
35
45
  # end
36
46
  #
37
47
  def initialize(parent_app_instance=nil, *args, &block)
48
+ #@app = parent_app_instance
49
+ super(parent_app_instance, &Proc.new{})
38
50
  initialization_args = args.dup
39
- puts "RW INITIALIZE middleware instance [parent_app_instance, self, args, block]: #{[parent_app_instance, self, args, block]}"
51
+ #puts "RW INITIALIZE middleware instance [app, self, args, block]: #{[app, self, args, block]}"
52
+ puts "RW new instance with parent: #{@app}"
40
53
  # extract options.
41
54
  opts = args.last.is_a?(Hash) ? args.pop : {}
42
- rack_warden_app_class = self.class
43
- if parent_app_instance
44
- puts "RW has parent: #{parent_app_instance}"
55
+ #settings = self.class
56
+ if app && !settings.initialized
57
+ puts "RW initializing settings"
45
58
 
46
59
  # Save original views from opts.
47
- #rack_warden_app_class.set(:original_views, opts.has_key?(:views) ? rack_warden_app_class.views : nil)
48
- rack_warden_app_class.set(:original_views, rack_warden_app_class.views)
60
+ #settings.set(:original_views, opts.has_key?(:views) ? settings.views : nil)
61
+ settings.set(:original_views, settings.views)
49
62
 
50
63
  # Set app settings with remainder of opts.
51
- rack_warden_app_class.set opts if opts.any?
64
+ settings.set opts if opts.any?
52
65
 
53
66
  # Eval the use-block from the parent app, in context of this app.
54
- rack_warden_app_class.instance_exec(self, parent_instance, &block) if block_given?
67
+ settings.instance_exec(self, app, &block) if block_given?
55
68
 
56
69
  # Do framework setup.
57
70
  framework_module = Frameworks::Base.select_framework(binding)
58
- puts "RW framework_module #{framework_module}"
71
+ puts "RW selected framework module #{framework_module}"
59
72
  if framework_module
60
73
  framework_module.setup_framework
61
74
 
@@ -68,16 +81,17 @@ module RackWarden
68
81
  #new_views << original_views if original_views
69
82
  #self.class.set(:views => [new_views, Array(self.class.views)].flatten.compact.uniq) if new_views.any?
70
83
 
71
- new_views.unshift rack_warden_app_class.original_views
72
- new_views.unshift framework_module.views_path unless rack_warden_app_class.views==false
73
- new_views.unshift rack_warden_app_class.views
74
- rack_warden_app_class.set :views, new_views.flatten.compact.uniq
84
+ new_views.unshift settings.original_views
85
+ new_views.unshift framework_module.views_path unless settings.views==false
86
+ new_views.unshift settings.views
87
+ settings.set :views, new_views.flatten.compact.uniq
75
88
 
76
- puts "RW views: #{self.class.views}"
89
+ puts "RW compiled views: #{settings.views.inspect}"
77
90
  end
91
+ settings.set :initialized, true
78
92
  end
79
93
  # finally, send parent app to super, but don't send the use-block (thus the empty proc)
80
- super(parent_app_instance, &Proc.new{})
94
+ #super(app, &Proc.new{})
81
95
  end
82
96
 
83
97
  # For testing interception of request.
@@ -151,7 +165,7 @@ module RackWarden
151
165
  end
152
166
 
153
167
  def warden
154
- env['warden']
168
+ request.env['warden']
155
169
  end
156
170
 
157
171
  def current_user
@@ -221,7 +235,6 @@ module RackWarden
221
235
 
222
236
  flash(:rwarden)[:success] = warden.message || "Successful login"
223
237
 
224
- puts "RETURN_TO #{session[:return_to]}"
225
238
  if session[:return_to].nil?
226
239
  redirect url(settings.default_route, false)
227
240
  else
@@ -260,7 +273,8 @@ module RackWarden
260
273
  post '/auth/unauthenticated' do
261
274
  # I had to remove the condition, since it was not updating return path when it should have.
262
275
  session[:return_to] = env['warden.options'][:attempted_path] if !request.xhr? && !env['warden.options'][:attempted_path][/login|new|create/]
263
- puts "WARDEN ATTEMPTED PATH: #{env['warden.options'][:attempted_path]}"
276
+ puts "RW attempted path: #{env['warden.options'][:attempted_path]}"
277
+ puts "RW will return-to #{session[:return_to]}"
264
278
  puts warden
265
279
  # if User.count > 0
266
280
  flash(:rwarden)[:error] = warden.message || "Please login to continue"
@@ -277,6 +291,11 @@ module RackWarden
277
291
  erb :'rw_protected.html', :layout=>settings.layout
278
292
  end
279
293
 
294
+ get "/auth/dbinfo" do
295
+ warden.authenticate!
296
+ erb :'rw_dbinfo.html', :layout=>settings.layout
297
+ end
298
+
280
299
  get '/auth/admin' do
281
300
  warden.authenticate!
282
301
  erb :'rw_admin.html', :layout=>settings.layout
@@ -6,9 +6,8 @@ module RackWarden
6
6
  class << self
7
7
  # Select the framework of the parent app.
8
8
  def select_framework(env)
9
- puts "RW framework constants: #{Frameworks.constants}"
9
+ #puts "RW framework constants: #{Frameworks.constants}"
10
10
  Frameworks.constants.dup.tap{|_constants| _constants.delete(:Base)}.each do |c|
11
- puts "RW framework constant #{c}"
12
11
  r = Frameworks.const_get(c).framework_selector(env) #rescue nil
13
12
  return r if r
14
13
  end
@@ -30,6 +29,7 @@ module RackWarden
30
29
  # and runs the framework selector logic.
31
30
  # Returns the framework module or nil.
32
31
  def framework_selector(env)
32
+ #puts "RW testing framework #{self}"
33
33
  #puts "BASE.framework_selector #{self} env: #{env.eval 'self'} locals: #{env.eval 'local_variables'}"
34
34
  @initialization_args = env.eval 'initialization_args'
35
35
  @parent_app_instance = env.eval 'parent_app_instance'
@@ -5,8 +5,8 @@ module RackWarden
5
5
  extend Base
6
6
 
7
7
  def selector
8
- puts "RW Rails.selector parent_app.ancestors #{parent_app.ancestors}"
9
- parent_app.ancestors.find{|x| x.to_s[/Rails|ActionDispatch/]} #{|x| x.to_s=='ActionDispatch'}
8
+ #puts "RW Rails.selector parent_app.ancestors #{parent_app.ancestors}"
9
+ parent_app.ancestors.find{|x| x.to_s[/Rails|ActionDispatch/]} or defined?(Rails)
10
10
  end
11
11
 
12
12
  def views_path
@@ -14,11 +14,12 @@ module RackWarden
14
14
  end
15
15
 
16
16
  def setup_framework
17
- puts "RW Rails.setup_framework parent_app #{parent_app}"
17
+ #puts "RW setup_framework for rails"
18
18
  ApplicationController.send(:include, RackWarden::App::RackWardenHelpers)
19
19
 
20
20
  # Define class method 'require_login' on framework controller.
21
- #parent_app_class.instance_eval do #This seems to work too.
21
+ #parent_app_class.instance_eval do
22
+ # Probably more reliable to use this.
22
23
  ApplicationController.instance_eval do
23
24
  def self.require_login(*args)
24
25
  before_filter(:require_login, *args) do
@@ -5,7 +5,7 @@ module RackWarden
5
5
  extend Base
6
6
 
7
7
  def selector
8
- puts "RW Sinatra.selector parent_app.ancestors #{parent_app.ancestors}"
8
+ #puts "RW Sinatra.selector parent_app.ancestors #{parent_app.ancestors}"
9
9
  parent_app.ancestors.find{|x| x.to_s=='Sinatra::Base'}
10
10
  end
11
11
 
@@ -14,15 +14,15 @@ module RackWarden
14
14
  end
15
15
 
16
16
  def setup_framework
17
- puts "RW Sinatra.setup_framework parent_app #{parent_app}"
17
+ #puts "RW setup_framework for sinatra"
18
18
  parent_app.helpers(RackWarden::App::RackWardenHelpers)
19
19
 
20
20
  # Define class method 'require_login' on framework controller.
21
21
  parent_app.instance_eval do
22
22
  def self.require_login(*args)
23
- puts "RW class #{self}.require_login #{args}"
23
+ #puts "RW class #{self}.require_login #{args}"
24
24
  before(*args) do
25
- puts "RW instance #{self}.require_login #{request.path_info}"
25
+ #puts "RW instance #{self}.require_login #{request.path_info}"
26
26
  require_login
27
27
  end
28
28
  end
@@ -3,27 +3,35 @@ module RackWarden
3
3
 
4
4
  # Best guess at framework database settings.
5
5
  def self.get_database_config
6
+ #puts ActiveRecord::Base.configurations[(RackWarden::App.environment || :development).to_s].to_yaml
7
+ #conf = case
6
8
  case
9
+ when App.database_config.to_s.downcase == 'file'; "sqlite3:///#{Dir.pwd}/rack_warden.sqlite3.db"
7
10
  when App.database_config.to_s.downcase == 'auto';
8
11
  (ActiveRecord::Base.connection_config rescue nil) ||
12
+ (ActiveRecord::Base.configurations[(RackWarden::App.environment || :development).to_s] rescue nil) ||
9
13
  (DataMapper.repository(:default).adapter[:options] rescue nil) ||
10
14
  App.database_default
11
15
  when App.database_config; App.database_config
12
16
  else App.database_default
13
17
  end
18
+ #... sort out environment HERE
19
+ #conf = RackWarden::App.environment || :development).to_s
14
20
  end
15
21
 
16
- puts "RW DataMapper using log_path #{App.log_path}"
17
- DataMapper::Logger.new(App.log_path)
22
+ #puts "RW DataMapper using log_path #{App.log_path}"
23
+ ### CAUTION - There may be a file conflict between this and rack::commonlogger.
24
+ DataMapper::Logger.new(settings.log_file) #$stdout) #App.log_path)
25
+
18
26
 
19
- puts "RW get_database_config #{get_database_config}"
20
27
  DataMapper.setup(:default, get_database_config)
21
28
  # Do DataMapper.repository.adapter to get connection info for this connection.
29
+ puts "RW DataMapper.setup #{DataMapper.repository.adapter}"
22
30
 
23
- puts "RW requiring model files in #{File.join(File.dirname(__FILE__), 'models/*')}"
24
- Dir.glob(File.join(File.dirname(__FILE__), 'models/*')).each {|f| puts f; require f}
31
+ #puts "RW requiring model files in #{File.join(File.dirname(__FILE__), 'models/*')}"
32
+ Dir.glob(File.join(File.dirname(__FILE__), 'models/*')).each {|f| require f}
25
33
 
26
- puts "RW DataMapper.finalize"
34
+ #puts "RW DataMapper.finalize"
27
35
  # Tell DataMapper the models are done being defined
28
36
  DataMapper.finalize
29
37
 
@@ -31,6 +39,7 @@ module RackWarden
31
39
  # Update the database to match the properties of User.
32
40
  DataMapper.auto_upgrade!
33
41
 
34
- puts "RW DataMapper repository #{DataMapper.repository.adapter.options}"
42
+ # Careful! This will expose sensitive db login info.
43
+ #puts "RW DataMapper repository #{DataMapper.repository.adapter.options}"
35
44
 
36
45
  end # module
@@ -1,3 +1,3 @@
1
1
  module RackWarden
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -0,0 +1,9 @@
1
+ <p>
2
+ <h2>RackWarden db info</h2>
3
+ </p>
4
+
5
+ <p>
6
+ <%= DataMapper.repository.adapter.select('select * from SQLITE_MASTER').to_yaml.gsub(/\n|\r/, '<br>').gsub(/ /, '&nbsp;&nbsp;') %>
7
+ <br><br>
8
+ <%= DataMapper.repository.adapter.to_yaml.gsub(/\n|\r/, '<br>') %>
9
+ </p>
@@ -1,9 +1,3 @@
1
1
  <p>
2
2
  <h2>Protected Page Example</h2>
3
3
  </p>
4
-
5
- <p>
6
- <%= DataMapper.repository.adapter.to_yaml.gsub(/\n|\r/, '<br>') %>
7
- <%= DataMapper.repository.adapter.select('select * from SQLITE_MASTER').to_yaml.gsub(/\n|\r/, '<br>').gsub(/ /, '&nbsp;&nbsp;') %>
8
-
9
- </p>
data/rack_warden.gemspec CHANGED
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency "sinatra-flash"
30
30
  spec.add_dependency "bcrypt"
31
31
  spec.add_dependency "data_mapper"
32
+ spec.add_dependency "sqlite3"
32
33
  spec.add_dependency "dm-sqlite-adapter"
33
34
  spec.add_dependency "warden"
34
35
  end
metadata CHANGED
@@ -1,174 +1,177 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rack_warden
3
- version: !ruby/object:Gem::Version
4
- hash: 17
5
- prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 7
10
- version: 0.0.7
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.8
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - William Richardson
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2015-01-07 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
22
- none: false
23
- requirements:
24
- - - ~>
25
- - !ruby/object:Gem::Version
26
- hash: 1
27
- segments:
28
- - 1
29
- - 7
30
- version: "1.7"
31
- prerelease: false
32
- requirement: *id001
11
+ date: 2015-01-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
33
14
  name: bundler
34
- type: :development
35
- - !ruby/object:Gem::Dependency
36
- version_requirements: &id002 !ruby/object:Gem::Requirement
37
- none: false
38
- requirements:
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
39
17
  - - ~>
40
- - !ruby/object:Gem::Version
41
- hash: 35
42
- segments:
43
- - 10
44
- - 0
45
- version: "10.0"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :development
46
21
  prerelease: false
47
- requirement: *id002
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
27
+ - !ruby/object:Gem::Dependency
48
28
  name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
49
34
  type: :development
50
- - !ruby/object:Gem::Dependency
51
- version_requirements: &id003 !ruby/object:Gem::Requirement
52
- none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
60
35
  prerelease: false
61
- requirement: *id003
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
62
42
  name: tux
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
63
48
  type: :development
64
- - !ruby/object:Gem::Dependency
65
- version_requirements: &id004 !ruby/object:Gem::Requirement
66
- none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
74
49
  prerelease: false
75
- requirement: *id004
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
76
56
  name: thin
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
77
62
  type: :development
78
- - !ruby/object:Gem::Dependency
79
- version_requirements: &id005 !ruby/object:Gem::Requirement
80
- none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- hash: 3
85
- segments:
86
- - 0
87
- version: "0"
88
63
  prerelease: false
89
- requirement: *id005
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
90
70
  name: sinatra
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
91
76
  type: :runtime
92
- - !ruby/object:Gem::Dependency
93
- version_requirements: &id006 !ruby/object:Gem::Requirement
94
- none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- hash: 3
99
- segments:
100
- - 0
101
- version: "0"
102
77
  prerelease: false
103
- requirement: *id006
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
104
84
  name: sinatra-flash
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
105
90
  type: :runtime
106
- - !ruby/object:Gem::Dependency
107
- version_requirements: &id007 !ruby/object:Gem::Requirement
108
- none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
- version: "0"
116
91
  prerelease: false
117
- requirement: *id007
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
118
98
  name: bcrypt
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
119
104
  type: :runtime
120
- - !ruby/object:Gem::Dependency
121
- version_requirements: &id008 !ruby/object:Gem::Requirement
122
- none: false
123
- requirements:
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- hash: 3
127
- segments:
128
- - 0
129
- version: "0"
130
105
  prerelease: false
131
- requirement: *id008
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
132
112
  name: data_mapper
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
133
118
  type: :runtime
134
- - !ruby/object:Gem::Dependency
135
- version_requirements: &id009 !ruby/object:Gem::Requirement
136
- none: false
137
- requirements:
138
- - - ">="
139
- - !ruby/object:Gem::Version
140
- hash: 3
141
- segments:
142
- - 0
143
- version: "0"
144
119
  prerelease: false
145
- requirement: *id009
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ! '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: sqlite3
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ! '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
146
140
  name: dm-sqlite-adapter
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ! '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
147
146
  type: :runtime
148
- - !ruby/object:Gem::Dependency
149
- version_requirements: &id010 !ruby/object:Gem::Requirement
150
- none: false
151
- requirements:
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- hash: 3
155
- segments:
156
- - 0
157
- version: "0"
158
147
  prerelease: false
159
- requirement: *id010
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
160
154
  name: warden
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
161
160
  type: :runtime
162
- description: A warden/sinatra mini-app providing authentication and user management for any rack-based app.
163
- email:
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ description: A warden/sinatra mini-app providing authentication and user management
168
+ for any rack-based app.
169
+ email:
164
170
  - wbr@mac.com
165
171
  executables: []
166
-
167
172
  extensions: []
168
-
169
173
  extra_rdoc_files: []
170
-
171
- files:
174
+ files:
172
175
  - .gitignore
173
176
  - Gemfile
174
177
  - LICENSE.txt
@@ -184,44 +187,36 @@ files:
184
187
  - lib/rack_warden/models/user.rb
185
188
  - lib/rack_warden/version.rb
186
189
  - lib/rack_warden/views/rw_admin.html.erb
190
+ - lib/rack_warden/views/rw_dbinfo.html.erb
187
191
  - lib/rack_warden/views/rw_index.html.erb
188
192
  - lib/rack_warden/views/rw_layout.html.erb
189
193
  - lib/rack_warden/views/rw_login.html.erb
190
194
  - lib/rack_warden/views/rw_new_user.html.erb
191
195
  - lib/rack_warden/views/rw_protected.html.erb
192
196
  - rack_warden.gemspec
193
- homepage: ""
194
- licenses:
197
+ homepage: ''
198
+ licenses:
195
199
  - MIT
200
+ metadata: {}
196
201
  post_install_message:
197
202
  rdoc_options: []
198
-
199
- require_paths:
203
+ require_paths:
200
204
  - lib
201
- required_ruby_version: !ruby/object:Gem::Requirement
202
- none: false
203
- requirements:
204
- - - ">="
205
- - !ruby/object:Gem::Version
206
- hash: 3
207
- segments:
208
- - 0
209
- version: "0"
210
- required_rubygems_version: !ruby/object:Gem::Requirement
211
- none: false
212
- requirements:
213
- - - ">="
214
- - !ruby/object:Gem::Version
215
- hash: 3
216
- segments:
217
- - 0
218
- version: "0"
205
+ required_ruby_version: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - ! '>='
208
+ - !ruby/object:Gem::Version
209
+ version: '0'
210
+ required_rubygems_version: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ! '>='
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
219
215
  requirements: []
220
-
221
216
  rubyforge_project:
222
- rubygems_version: 1.8.30
217
+ rubygems_version: 2.4.5
223
218
  signing_key:
224
- specification_version: 3
225
- summary: A warden/sinatra mini-app providing authentication and user management for any rack-based app
219
+ specification_version: 4
220
+ summary: A warden/sinatra mini-app providing authentication and user management for
221
+ any rack-based app
226
222
  test_files: []
227
-