warden 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/warden/proxy.rb CHANGED
@@ -111,10 +111,11 @@ module Warden
111
111
  def set_user(user, opts = {})
112
112
  scope = (opts[:scope] ||= :default)
113
113
  _store_user(user, scope) unless opts[:store] == false
114
+ @users[scope] = user
114
115
 
115
116
  # Run the after hooks for setting the user
116
117
  Warden::Manager._after_set_user.each{ |hook| hook.call(user, self, opts) }
117
- @users[scope] = user
118
+ user
118
119
  end
119
120
 
120
121
  # Provides acccess to the user object in a given scope for a request.
@@ -185,13 +186,13 @@ module Warden
185
186
  # proxy methods through to the winning strategy
186
187
  # :api: private
187
188
  def result # :nodoc:
188
- winning_strategy.nil? ? nil : winning_strategy.result
189
+ winning_strategy && winning_strategy.result
189
190
  end
190
191
 
191
192
  # Proxy through to the authentication strategy to find out the message that was generated.
192
193
  # :api: public
193
194
  def message
194
- winning_strategy.nil? ? "" : winning_strategy.message
195
+ winning_strategy && winning_strategy.message
195
196
  end
196
197
 
197
198
  # Provides a way to return a 401 without warden defering to the failure app
@@ -243,7 +244,7 @@ module Warden
243
244
  next
244
245
  end
245
246
 
246
- strategy = Warden::Strategies[s].new(@env, scope, @conf)
247
+ strategy = Warden::Strategies[s].new(@env, scope)
247
248
  self.winning_strategy = strategy
248
249
  next unless strategy.valid?
249
250
 
@@ -44,9 +44,9 @@ module Warden
44
44
  include ::Warden::Mixins::Common
45
45
 
46
46
  # :api: private
47
- def initialize(env, scope=nil, config={}) # :nodoc:
48
- @scope, @config = scope, config
49
- @env, @_status, @headers = env, nil, {}
47
+ def initialize(env, scope=nil) # :nodoc:
48
+ @env, @scope = env, scope
49
+ @_status, @headers = nil, {}
50
50
  @halted = false
51
51
  end
52
52
 
@@ -132,7 +132,7 @@ module Warden
132
132
  headers["Location"] << "?" << Rack::Utils.build_query(params) unless params.empty?
133
133
  headers["Content-Type"] = opts[:content_type] || 'text/plain'
134
134
 
135
- @message = opts[:message].nil? ? "You are being redirected to #{headers["Location"]}" : opts[:message]
135
+ @message = opts[:message] || "You are being redirected to #{headers["Location"]}"
136
136
  @result = :redirect
137
137
 
138
138
  headers["Location"]
@@ -1,3 +1,3 @@
1
1
  module Warden
2
- VERSION = "0.6.0"
2
+ VERSION = "0.6.1"
3
3
  end
@@ -32,9 +32,14 @@ describe "standard authentication hooks" do
32
32
  it "should run each after_set_user hook after the user is set" do
33
33
  RAM.after_set_user{|u,a,o| a.env['warden.spec.hook.foo'] = "run foo"}
34
34
  RAM.after_set_user{|u,a,o| a.env['warden.spec.hook.bar'] = "run bar"}
35
- app = lambda{|e| e['warden'].set_user("foo"); valid_response}
35
+ RAM.after_set_user{|u,a,o| a.logout}
36
+ app = lambda do |e|
37
+ e['warden'].set_user("foo")
38
+ valid_response
39
+ end
36
40
  env = env_with_params
37
41
  setup_rack(app).call(env)
42
+ env['warden'].user.should be_nil
38
43
  env['warden.spec.hook.foo'].should == "run foo"
39
44
  env['warden.spec.hook.bar'].should == "run bar"
40
45
  end
@@ -421,7 +421,6 @@ describe Warden::Proxy do
421
421
  end
422
422
 
423
423
  describe "messages" do
424
-
425
424
  it "should allow access to the failure message" do
426
425
  failure = lambda do |e|
427
426
  [401, {"Content-Type" => "text/plain"}, [e['warden'].message]]
@@ -438,7 +437,7 @@ describe Warden::Proxy do
438
437
  [200, {"Content-Type" => "text/plain"}, [e['warden'].message]]
439
438
  end
440
439
  result = setup_rack(app).call(env_with_params)
441
- result[2].should == [""]
440
+ result[2].should == [nil]
442
441
  end
443
442
  end
444
443
 
@@ -83,14 +83,20 @@ describe Warden::Serializers do
83
83
  end
84
84
 
85
85
  it "should allow me to clear the Serializers" do
86
- Warden::Serializers.add(:foobar) do
87
- def fetch; end
88
- def store; end
89
- def stored?; end
90
- def delete; end
86
+ old_serializers = Warden::Serializers._serializers.dup
87
+
88
+ begin
89
+ Warden::Serializers.add(:foobar) do
90
+ def fetch; end
91
+ def store; end
92
+ def stored?; end
93
+ def delete; end
94
+ end
95
+ Warden::Serializers[:foobar].should_not be_nil
96
+ Warden::Serializers.clear!
97
+ Warden::Serializers[:foobar].should be_nil
98
+ else
99
+ Warden::Serializers._serializers.replace(old_serializers)
91
100
  end
92
- Warden::Serializers[:foobar].should_not be_nil
93
- Warden::Serializers.clear!
94
- Warden::Serializers[:foobar].should be_nil
95
101
  end
96
102
  end
data/warden.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{warden}
8
- s.version = "0.6.0"
8
+ s.version = "0.6.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Daniel Neighman"]
12
- s.date = %q{2009-11-15}
12
+ s.date = %q{2009-11-17}
13
13
  s.email = %q{has.sox@gmail.com}
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE",
@@ -65,24 +65,24 @@ Gem::Specification.new do |s|
65
65
  s.rubygems_version = %q{1.3.5}
66
66
  s.summary = %q{Rack middleware that provides authentication for rack applications}
67
67
  s.test_files = [
68
- "spec/helpers/request_helper.rb",
69
- "spec/helpers/strategies/failz.rb",
68
+ "spec/warden_spec.rb",
70
69
  "spec/helpers/strategies/invalid.rb",
70
+ "spec/helpers/strategies/failz.rb",
71
71
  "spec/helpers/strategies/pass.rb",
72
- "spec/helpers/strategies/pass_without_user.rb",
73
72
  "spec/helpers/strategies/password.rb",
73
+ "spec/helpers/strategies/pass_without_user.rb",
74
+ "spec/helpers/request_helper.rb",
74
75
  "spec/spec_helper.rb",
75
- "spec/warden/authenticated_data_store_spec.rb",
76
- "spec/warden/errors_spec.rb",
76
+ "spec/warden/strategies/base_spec.rb",
77
77
  "spec/warden/hooks_spec.rb",
78
78
  "spec/warden/manager_spec.rb",
79
- "spec/warden/proxy_spec.rb",
79
+ "spec/warden/authenticated_data_store_spec.rb",
80
+ "spec/warden/errors_spec.rb",
80
81
  "spec/warden/serializers/cookie_spec.rb",
81
82
  "spec/warden/serializers/session_spec.rb",
82
83
  "spec/warden/serializers_spec.rb",
83
- "spec/warden/strategies/base_spec.rb",
84
- "spec/warden/strategies_spec.rb",
85
- "spec/warden_spec.rb"
84
+ "spec/warden/proxy_spec.rb",
85
+ "spec/warden/strategies_spec.rb"
86
86
  ]
87
87
 
88
88
  if s.respond_to? :specification_version then
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: warden
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Neighman
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-15 00:00:00 +11:00
12
+ date: 2009-11-17 00:00:00 -02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -102,21 +102,21 @@ signing_key:
102
102
  specification_version: 3
103
103
  summary: Rack middleware that provides authentication for rack applications
104
104
  test_files:
105
- - spec/helpers/request_helper.rb
106
- - spec/helpers/strategies/failz.rb
105
+ - spec/warden_spec.rb
107
106
  - spec/helpers/strategies/invalid.rb
107
+ - spec/helpers/strategies/failz.rb
108
108
  - spec/helpers/strategies/pass.rb
109
- - spec/helpers/strategies/pass_without_user.rb
110
109
  - spec/helpers/strategies/password.rb
110
+ - spec/helpers/strategies/pass_without_user.rb
111
+ - spec/helpers/request_helper.rb
111
112
  - spec/spec_helper.rb
112
- - spec/warden/authenticated_data_store_spec.rb
113
- - spec/warden/errors_spec.rb
113
+ - spec/warden/strategies/base_spec.rb
114
114
  - spec/warden/hooks_spec.rb
115
115
  - spec/warden/manager_spec.rb
116
- - spec/warden/proxy_spec.rb
116
+ - spec/warden/authenticated_data_store_spec.rb
117
+ - spec/warden/errors_spec.rb
117
118
  - spec/warden/serializers/cookie_spec.rb
118
119
  - spec/warden/serializers/session_spec.rb
119
120
  - spec/warden/serializers_spec.rb
120
- - spec/warden/strategies/base_spec.rb
121
+ - spec/warden/proxy_spec.rb
121
122
  - spec/warden/strategies_spec.rb
122
- - spec/warden_spec.rb