loyal_warden 0.0.5 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. data/Gemfile +1 -1
  2. data/History.rdoc +0 -7
  3. data/README.textile +1 -2
  4. data/lib/warden.rb +1 -1
  5. data/lib/warden/config.rb +1 -1
  6. data/lib/warden/errors.rb +1 -1
  7. data/lib/warden/hooks.rb +1 -1
  8. data/lib/warden/manager.rb +2 -1
  9. data/lib/warden/mixins/common.rb +3 -4
  10. data/lib/warden/proxy.rb +2 -2
  11. data/lib/warden/session_serializer.rb +2 -6
  12. data/lib/warden/strategies.rb +2 -3
  13. data/lib/warden/strategies/base.rb +1 -1
  14. data/lib/warden/test/helpers.rb +1 -1
  15. data/lib/warden/test/warden_helpers.rb +1 -1
  16. data/lib/warden/version.rb +2 -2
  17. data/loyal_warden.gemspec +3 -6
  18. data/spec/helpers/request_helper.rb +2 -2
  19. data/spec/helpers/strategies/failz.rb +1 -1
  20. data/spec/helpers/strategies/invalid.rb +2 -2
  21. data/spec/helpers/strategies/pass.rb +1 -1
  22. data/spec/helpers/strategies/pass_with_message.rb +1 -1
  23. data/spec/helpers/strategies/password.rb +1 -1
  24. data/spec/helpers/strategies/single.rb +1 -1
  25. data/spec/spec_helper.rb +1 -1
  26. data/spec/warden/authenticated_data_store_spec.rb +1 -1
  27. data/spec/warden/config_spec.rb +1 -1
  28. data/spec/warden/errors_spec.rb +1 -1
  29. data/spec/warden/hooks_spec.rb +1 -1
  30. data/spec/warden/manager_spec.rb +1 -1
  31. data/spec/warden/proxy_spec.rb +7 -24
  32. data/spec/warden/scoped_session_serializer.rb +1 -1
  33. data/spec/warden/session_serializer_spec.rb +1 -6
  34. data/spec/warden/strategies/base_spec.rb +1 -1
  35. data/spec/warden/strategies_spec.rb +2 -12
  36. data/spec/warden/test/helpers_spec.rb +1 -1
  37. data/spec/warden/test/test_mode_spec.rb +1 -1
  38. data/warden.gemspec +0 -1
  39. metadata +5 -7
  40. data/lib/loyal_warden.rb +0 -2
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source 'https://rubygems.org'
1
+ source :rubygems
2
2
 
3
3
  gemspec
4
4
 
@@ -1,10 +1,3 @@
1
- == Version 1.2.3 / 2013-07-14
2
- * Fix an issue with lazy loaded sessions
3
-
4
- == Version 1.2.2 / 2013-07-12
5
- * Support nil session stores on logout
6
- * Fix strategies blowing up with undefined method base
7
-
8
1
  == Version 1.2.1 / 2012-06-16
9
2
  * Minor caching and speed improvements
10
3
  * Add support to #lock in the proxy
@@ -4,6 +4,5 @@ h2. Maintainers
4
4
 
5
5
  * Daniel Neighman (hassox)
6
6
  * José Valim (josevalim)
7
- * Justin Smestad (jsmestad)
8
7
 
9
- "A list of all contributors is available on Github.":https://github.com/hassox/warden/contributors
8
+ "A list of all contributors is available on Github.":https://github.com/hassox/warden/contributors
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'forwardable'
3
3
 
4
4
  require 'warden/mixins/common'
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
 
3
3
  module Warden
4
4
  # This is a class which is yielded on use Warden::Manager. If you have a plugin
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  module Warden
3
3
  class Proxy
4
4
  # Lifted from DataMapper's dm-validations plugin :)
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  module Warden
3
3
  module Hooks
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'warden/hooks'
3
3
  require 'warden/config'
4
4
 
@@ -123,6 +123,7 @@ module Warden
123
123
  def call_failure_app(env, options = {})
124
124
  if config.failure_app
125
125
  options.merge!(:attempted_path => ::Rack::Request.new(env).fullpath)
126
+ options.merge!(:attempted_url => ::Rack::Request.new(env).url)
126
127
  env["PATH_INFO"] = "/#{options[:action]}"
127
128
  env["warden.options"] = options
128
129
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  module Warden
3
3
  module Mixins
4
4
  module Common
@@ -24,7 +24,7 @@ module Warden
24
24
  def warden_cookies
25
25
  warn "warden_cookies was never functional and is going to be removed in next versions"
26
26
  env['warden.cookies'] ||= {}
27
- end # warden_cookies
27
+ end # response
28
28
 
29
29
  # Convenience method to access the rack request params
30
30
  # :api: public
@@ -37,8 +37,7 @@ module Warden
37
37
  # @api overwritable
38
38
  def reset_session!
39
39
  raw_session.clear
40
- end # reset_session!
41
-
40
+ end
42
41
  end # Common
43
42
  end # Mixins
44
43
  end # Warden
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
 
3
3
  module Warden
4
4
  class UserNotSet < RuntimeError; end
@@ -261,7 +261,7 @@ module Warden
261
261
  user = @users.delete(scope)
262
262
  manager._run_callbacks(:before_logout, user, self, :scope => scope)
263
263
 
264
- raw_session.delete("warden.user.#{scope}.session") unless raw_session.nil?
264
+ raw_session.delete("warden.user.#{scope}.session")
265
265
  session_serializer.delete(scope, user)
266
266
  end
267
267
 
@@ -1,7 +1,8 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  module Warden
3
3
  class SessionSerializer
4
4
  attr_reader :env
5
+ include ::Warden::Mixins::Common
5
6
 
6
7
  def initialize(env)
7
8
  @env = env
@@ -43,10 +44,5 @@ module Warden
43
44
  def delete(scope, user=nil)
44
45
  session.delete(key_for(scope))
45
46
  end
46
-
47
- # We can't cache this result because the session can be lazy loaded
48
- def session
49
- env["rack.session"] || {}
50
- end
51
47
  end # SessionSerializer
52
48
  end # Warden
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  module Warden
3
3
  module Strategies
4
4
  class << self
@@ -11,8 +11,7 @@ module Warden
11
11
  raise NoMethodError, "authenticate! is not declared in the #{label.inspect} strategy"
12
12
  end
13
13
 
14
- base = Warden::Strategies::Base
15
- unless strategy.ancestors.include?(base)
14
+ unless strategy.ancestors.include?(Warden::Strategies::Base)
16
15
  raise "#{label.inspect} is not a #{base}"
17
16
  end
18
17
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  module Warden
3
3
  module Strategies
4
4
  # A strategy is a place where you can put logic related to authentication. Any strategy inherits
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
 
3
3
  module Warden
4
4
  module Test
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
 
3
3
  module Warden
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  module Warden
3
- VERSION = "1.2.3".freeze
3
+ VERSION = "2.0.0".freeze
4
4
  end
@@ -4,23 +4,20 @@ require './lib/warden/version'
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = %q{loyal_warden}
7
- # s.version = Warden::VERSION.dup
8
- s.version = '0.0.5'
7
+ s.version = Warden::VERSION.dup
9
8
  s.authors = ["Daniel Neighman"]
10
- s.email = %q{has.sox@gmail.com}
11
- s.license = "MIT"
9
+ s.email = %q{andywang7259@gmail.com}
12
10
  s.extra_rdoc_files = [
13
11
  "LICENSE",
14
12
  "README.textile"
15
13
  ]
16
14
  s.files = Dir["**/*"] - Dir["*.gem"] - ["Gemfile.lock"]
17
- s.homepage = %q{http://github.com/hassox/warden}
15
+ s.homepage = %q{http://github.com/blogsoso/warden}
18
16
  s.rdoc_options = ["--charset=UTF-8"]
19
17
  s.require_paths = ["lib"]
20
18
  s.rubyforge_project = %q{warden}
21
19
  s.rubygems_version = %q{1.3.7}
22
20
  s.summary = %q{Rack middleware that provides authentication for rack applications}
23
-
24
21
  s.add_dependency "rack", ">= 1.0"
25
22
  end
26
23
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  module Warden::Spec
3
3
  module Helpers
4
4
  FAILURE_APP = lambda{|e|[401, {"Content-Type" => "text/plain"}, ["You Fail!"]] }
@@ -18,7 +18,7 @@ module Warden::Spec
18
18
  blk = opts[:configurator] || proc{}
19
19
 
20
20
  Rack::Builder.new do
21
- use opts[:session] || Warden::Spec::Helpers::Session unless opts[:nil_session]
21
+ use opts[:session] || Warden::Spec::Helpers::Session
22
22
  use Warden::Manager, opts, &blk
23
23
  run app
24
24
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  Warden::Strategies.add(:failz) do
3
3
  def authenticate!
4
4
  request.env['warden.spec.strategies'] ||= []
@@ -1,8 +1,8 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  Warden::Strategies.add(:invalid) do
3
3
  def valid?
4
4
  false
5
5
  end
6
6
 
7
7
  def authenticate!; end
8
- end
8
+ end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  Warden::Strategies.add(:pass) do
3
3
  def authenticate!
4
4
  request.env['warden.spec.strategies'] ||= []
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  Warden::Strategies.add(:pass_with_message) do
3
3
  def authenticate!
4
4
  request.env['warden.spec.strategies'] ||= []
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  Warden::Strategies.add(:password) do
3
3
  def authenticate!
4
4
  request.env['warden.spec.strategies'] ||= []
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  Warden::Strategies.add(:single) do
3
3
  def authenticate!
4
4
  request.env['warden.spec.strategies'] ||= []
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  $TESTING=true
3
3
 
4
4
  $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'spec_helper'
3
3
 
4
4
  describe "authenticated data store" do
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Warden::Config do
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Warden::Proxy::Errors do
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'spec_helper'
3
3
 
4
4
  describe "standard authentication hooks" do
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Warden::Manager do
@@ -1,7 +1,8 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Warden::Proxy do
5
+
5
6
  before(:all) do
6
7
  load_strategies
7
8
  end
@@ -339,6 +340,7 @@ describe Warden::Proxy do
339
340
  end
340
341
  setup_rack(app).call(@env)
341
342
  end
343
+
342
344
  end
343
345
 
344
346
  describe "set user" do
@@ -364,17 +366,6 @@ describe Warden::Proxy do
364
366
  setup_rack(app).call(@env)
365
367
  end
366
368
 
367
- it "should not throw error when no session is configured and store is false" do
368
- app = lambda do |env|
369
- env['rack.session'] = nil
370
- env['warden'].authenticate(:pass, :store => false)
371
- env['warden'].should be_authenticated
372
- env['warden'].user.should == "Valid User"
373
- valid_response
374
- end
375
- setup_rack(app).call(@env)
376
- end
377
-
378
369
  it "should not run the callbacks when :run_callbacks is false" do
379
370
  app = lambda do |env|
380
371
  env['warden'].manager.should_not_receive(:_run_callbacks)
@@ -521,6 +512,7 @@ describe Warden::Proxy do
521
512
  end
522
513
 
523
514
  describe "logout" do
515
+
524
516
  before(:each) do
525
517
  @env['rack.session'] = {"warden.user.default.key" => "default key", "warden.user.foo.key" => "foo key", :foo => "bar"}
526
518
  @app = lambda do |e|
@@ -557,13 +549,6 @@ describe Warden::Proxy do
557
549
  @env['rack.session'].should be_empty
558
550
  end
559
551
 
560
- it "should not raise exception if raw_session is nil" do
561
- @app = setup_rack(@app, { nil_session: true })
562
- @env['rack.session'] = nil
563
- @env['warden.spec.which_logout'] = :foo
564
- expect { @app.call(@env) }.to_not raise_error(NoMethodError)
565
- end
566
-
567
552
  it "should clear the user when logging out" do
568
553
  @env['rack.session'].should_not be_nil
569
554
  app = lambda do |e|
@@ -680,7 +665,7 @@ describe Warden::Proxy do
680
665
  app = lambda do |e|
681
666
  e['warden'].should be_authenticated
682
667
  end
683
- setup_rack(app).call(@env)
668
+ result = setup_rack(app).call(@env)
684
669
  end
685
670
 
686
671
  it "should yield to a block when the block is passed and authenticated" do
@@ -715,7 +700,7 @@ describe Warden::Proxy do
715
700
  app = lambda do |e|
716
701
  e['warden'].should_not be_authenticated
717
702
  end
718
- setup_rack(app).call(@env)
703
+ result = setup_rack(app).call(@env)
719
704
  end
720
705
 
721
706
  it "should return false if scope cannot be retrieved from session" do
@@ -801,7 +786,7 @@ describe Warden::Proxy do
801
786
  app = lambda do |e|
802
787
  e['warden'].should be_unauthenticated
803
788
  end
804
- setup_rack(app).call(@env)
789
+ result = setup_rack(app).call(@env)
805
790
  end
806
791
 
807
792
  it "should yield to a block when the block is passed and authenticated" do
@@ -843,8 +828,6 @@ end
843
828
 
844
829
  describe "dynamic default_strategies" do
845
830
  before(:all) do
846
- load_strategies
847
-
848
831
  class ::DynamicDefaultStrategies
849
832
  def initialize(app, &blk)
850
833
  @app, @blk = app, blk
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Warden::Manager do
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Warden::SessionSerializer do
@@ -45,9 +45,4 @@ describe Warden::SessionSerializer do
45
45
  @session.fetch(:default)
46
46
  @env['rack.session'].should_not have_key("warden.user.default.key")
47
47
  end
48
-
49
- it "should support a nil session store" do
50
- @env['rack.session'] = nil
51
- @session.fetch(:default).should be_nil
52
- end
53
48
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Warden::Strategies::Base do
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Warden::Strategies do
@@ -11,23 +11,13 @@ describe Warden::Strategies do
11
11
  Warden::Strategies[:strategy1].ancestors.should include(Warden::Strategies::Base)
12
12
  end
13
13
 
14
- it "should raise an error if I add a strategy via a block, that does not have an authenticate! method" do
14
+ it "should raise an error if I add a strategy via a block, that does not have an autheniticate! method" do
15
15
  lambda do
16
16
  Warden::Strategies.add(:strategy2) do
17
17
  end
18
18
  end.should raise_error
19
19
  end
20
20
 
21
- it "should raise an error if I add a strategy that does not extend Warden::Strategies::Base" do
22
- non_base = Class.new do
23
- def authenticate!
24
- end
25
- end
26
- expect do
27
- Warden::Strategies.add(:strategy_non_base, non_base)
28
- end.to raise_error(/is not a Warden::Strategies::Base/)
29
- end
30
-
31
21
  it "should allow me to get access to a particular strategy" do
32
22
  Warden::Strategies.add(:strategy3) do
33
23
  def authenticate!; end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Warden::Test::Helpers do
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # -*- encoding : utf-8 -*-
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Warden::Test::WardenHelpers do
@@ -7,7 +7,6 @@ Gem::Specification.new do |s|
7
7
  s.version = Warden::VERSION.dup
8
8
  s.authors = ["Daniel Neighman"]
9
9
  s.email = %q{has.sox@gmail.com}
10
- s.license = "MIT"
11
10
  s.extra_rdoc_files = [
12
11
  "LICENSE",
13
12
  "README.textile"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: loyal_warden
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 2.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-01 00:00:00.000000000 Z
12
+ date: 2013-03-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rack
@@ -28,7 +28,7 @@ dependencies:
28
28
  - !ruby/object:Gem::Version
29
29
  version: '1.0'
30
30
  description:
31
- email: has.sox@gmail.com
31
+ email: andywang7259@gmail.com
32
32
  executables: []
33
33
  extensions: []
34
34
  extra_rdoc_files:
@@ -49,7 +49,6 @@ files:
49
49
  - lib/warden/errors.rb
50
50
  - lib/warden/session_serializer.rb
51
51
  - lib/warden.rb
52
- - lib/loyal_warden.rb
53
52
  - warden.gemspec
54
53
  - History.rdoc
55
54
  - spec/warden/hooks_spec.rb
@@ -76,9 +75,8 @@ files:
76
75
  - Gemfile
77
76
  - Rakefile
78
77
  - README.textile
79
- homepage: http://github.com/hassox/warden
80
- licenses:
81
- - MIT
78
+ homepage: http://github.com/blogsoso/warden
79
+ licenses: []
82
80
  post_install_message:
83
81
  rdoc_options:
84
82
  - "--charset=UTF-8"
@@ -1,2 +0,0 @@
1
- require 'warden'
2
-