rails_warden 0.3.0 → 0.5.0

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.
data/CHANGELOG ADDED
@@ -0,0 +1,3 @@
1
+ * 0.3.0
2
+ * [roman] Added `response` and `cookies` methods from Rails to the Strategy
3
+ environment.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.5.0
data/lib/rails_warden.rb CHANGED
@@ -11,13 +11,47 @@ module Warden::Mixins::Common
11
11
  # Gets the rails request object by default if it's available
12
12
  def request
13
13
  return @request if @request
14
- if env['action_controller.rescue.request']
14
+ if defined?(ActionDispatch::Request)
15
+ @request = ActionDispatch::Request.new(env)
16
+ elsif env['action_controller.rescue.request']
15
17
  @request = env['action_controller.rescue.request']
16
18
  else
17
19
  Rack::Request.new(env)
18
20
  end
19
21
  end
20
22
 
23
+ def response
24
+ return @response if @response
25
+ if env['action_controller.rescue.response']
26
+ @response = env['action_controller.rescue.response']
27
+ else
28
+ Rack::Response.new(env)
29
+ end
30
+ end
31
+
32
+ def cookies
33
+ unless defined?('ActionController::Cookies')
34
+ puts 'cookies was not defined'
35
+ return
36
+ end
37
+ @cookies ||= begin
38
+ # Duck typing...
39
+ controller = Struct.new(:request, :response) do
40
+ def self.helper_method(*args); end
41
+ end
42
+ controller.send(:include, ActionController::Cookies)
43
+ controller.new(self.request, self.response).send(:cookies)
44
+ end
45
+ end
46
+
47
+ def logger
48
+ unless defined?('Rails')
49
+ puts 'logger not defined'
50
+ return
51
+ end
52
+ Rails.logger
53
+ end
54
+
21
55
  def raw_session
22
56
  request.session
23
57
  end
@@ -29,18 +63,21 @@ module Warden::Mixins::Common
29
63
  end
30
64
 
31
65
  Warden::Manager.before_failure do |env, opts|
32
- env['warden'].request.params['action'] = RailsWarden.unauthenticated_action || "unauthenticated"
66
+ action = RailsWarden.unauthenticated_action || "unauthenticated"
67
+ if Rails.respond_to?(:version) && Rails.version >= "3"
68
+ env['action_dispatch.request.path_parameters'][:action] = action
69
+ else
70
+ env['warden'].request.params['action'] = action
71
+ end
33
72
  end
34
73
 
35
74
  # Rails needs the action to be passed in with the params
36
75
  Warden::Manager.before_failure do |env, opts|
37
- if request = env["action_controller.rescue.request"]
38
- request.params["action"] = RailsWarden.unauthenticated_action
39
- end
76
+ env['warden'].request.params["action"] = RailsWarden.unauthenticated_action
40
77
  end
41
78
 
42
79
 
43
- if defined?(Rails)
80
+ if !defined?(Rails::Railtie)
44
81
  Rails.configuration.after_initialize do
45
82
  class ActionController::Base
46
83
  include RailsWarden::Mixins::HelperMethods
@@ -51,6 +88,19 @@ if defined?(Rails)
51
88
  include RailsWarden::Mixins::HelperMethods
52
89
  end
53
90
  end
91
+ else
92
+ class RailsWarden::Railtie < Rails::Railtie
93
+ initializer :warden do
94
+ ActionController::Base.class_eval do
95
+ include RailsWarden::Mixins::HelperMethods
96
+ include RailsWarden::Mixins::ControllerOnlyMethods
97
+ end
98
+
99
+ module ApplicationHelper
100
+ include RailsWarden::Mixins::HelperMethods
101
+ end
102
+ end
103
+ end
54
104
  end
55
105
 
56
106
  class Warden::SessionSerializer
data/rails_warden.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rails_warden}
8
- s.version = "0.3.0"
8
+ s.version = "0.5.0"
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{2010-01-22}
12
+ s.date = %q{2010-03-08}
13
13
  s.description = %q{A gem that provides authenitcation via the Warden framework}
14
14
  s.email = %q{has.sox@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
19
19
  ]
20
20
  s.files = [
21
21
  ".gitignore",
22
+ "CHANGELOG",
22
23
  "LICENSE",
23
24
  "README.textile",
24
25
  "Rakefile",
@@ -39,7 +40,7 @@ Gem::Specification.new do |s|
39
40
  s.rdoc_options = ["--charset=UTF-8"]
40
41
  s.require_paths = ["lib"]
41
42
  s.rubyforge_project = %q{warden}
42
- s.rubygems_version = %q{1.3.5}
43
+ s.rubygems_version = %q{1.3.6}
43
44
  s.summary = %q{A gem that provides authenitcation via the Warden framework}
44
45
  s.test_files = [
45
46
  "spec/controller_mixin_spec.rb",
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_warden
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 5
8
+ - 0
9
+ version: 0.5.0
5
10
  platform: ruby
6
11
  authors:
7
12
  - Daniel Neighman
@@ -9,7 +14,7 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-01-22 00:00:00 +11:00
17
+ date: 2010-03-08 00:00:00 +13:00
13
18
  default_executable:
14
19
  dependencies: []
15
20
 
@@ -25,6 +30,7 @@ extra_rdoc_files:
25
30
  - TODO
26
31
  files:
27
32
  - .gitignore
33
+ - CHANGELOG
28
34
  - LICENSE
29
35
  - README.textile
30
36
  - Rakefile
@@ -53,18 +59,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
53
59
  requirements:
54
60
  - - ">="
55
61
  - !ruby/object:Gem::Version
62
+ segments:
63
+ - 0
56
64
  version: "0"
57
- version:
58
65
  required_rubygems_version: !ruby/object:Gem::Requirement
59
66
  requirements:
60
67
  - - ">="
61
68
  - !ruby/object:Gem::Version
69
+ segments:
70
+ - 0
62
71
  version: "0"
63
- version:
64
72
  requirements: []
65
73
 
66
74
  rubyforge_project: warden
67
- rubygems_version: 1.3.5
75
+ rubygems_version: 1.3.6
68
76
  signing_key:
69
77
  specification_version: 3
70
78
  summary: A gem that provides authenitcation via the Warden framework