simple_auth 0.1.6 → 0.1.7
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/Rakefile +12 -6
- data/lib/simple_auth/action_controller.rb +8 -1
- data/lib/simple_auth/version.rb +1 -1
- data/simple_auth.gemspec +4 -2
- data/spec/resources/controllers.rb +7 -3
- data/spec/resources/views/dashboard/index.erb +0 -0
- data/spec/resources/views/session/new.erb +0 -0
- data/spec/simple_auth/action_controller_spec.rb +27 -13
- data/spec/simple_auth/active_record_spec.rb +8 -8
- data/spec/simple_auth/helper_spec.rb +11 -0
- data/spec/simple_auth/session_spec.rb +1 -1
- data/spec/spec_helper.rb +15 -4
- metadata +5 -3
data/Rakefile
CHANGED
@@ -1,5 +1,16 @@
|
|
1
1
|
require 'rake'
|
2
|
-
|
2
|
+
|
3
|
+
if ENV["TARGET"] == "rails3"
|
4
|
+
require 'rspec/core/rake_task'
|
5
|
+
Rspec::Core::RakeTask.new(:spec)
|
6
|
+
else
|
7
|
+
require 'spec/rake/spectask'
|
8
|
+
desc 'Run the specs'
|
9
|
+
Spec::Rake::SpecTask.new(:spec) do |t|
|
10
|
+
t.spec_opts = ['--colour --format specdoc --loadby mtime --reverse']
|
11
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
12
|
+
end
|
13
|
+
end
|
3
14
|
|
4
15
|
require 'jeweler'
|
5
16
|
require File.dirname(__FILE__) + '/lib/simple_auth/version'
|
@@ -8,11 +19,6 @@ require File.dirname(__FILE__) + '/lib/simple_auth/version'
|
|
8
19
|
desc 'Default: run specs.'
|
9
20
|
task :default => :spec
|
10
21
|
|
11
|
-
desc 'Run the specs'
|
12
|
-
Spec::Rake::SpecTask.new(:spec) do |t|
|
13
|
-
t.spec_opts = ['--colour --format specdoc --loadby mtime --reverse']
|
14
|
-
t.spec_files = FileList['spec/**/*_spec.rb']
|
15
|
-
end
|
16
22
|
|
17
23
|
JEWEL = Jeweler::Tasks.new do |gem|
|
18
24
|
gem.name = "simple_auth"
|
@@ -55,7 +55,14 @@ module SimpleAuth
|
|
55
55
|
|
56
56
|
unless logged_in? && authorized?
|
57
57
|
flash[:alert] = I18n.translate("simple_auth.sessions.need_to_be_logged")
|
58
|
-
|
58
|
+
|
59
|
+
if request.respond_to?(:fullpath)
|
60
|
+
return_to = request.fullpath
|
61
|
+
else
|
62
|
+
return_to = request.request_uri
|
63
|
+
end
|
64
|
+
|
65
|
+
session[:return_to] = return_to if request.get?
|
59
66
|
redirect_to path
|
60
67
|
end
|
61
68
|
end
|
data/lib/simple_auth/version.rb
CHANGED
data/simple_auth.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{simple_auth}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.7"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Nando Vieira"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-05-07}
|
13
13
|
s.description = %q{When Authlogic & Devise are just too much.
|
14
14
|
}
|
15
15
|
s.email = %q{fnando.vieira@gmail.com}
|
@@ -35,6 +35,8 @@ Gem::Specification.new do |s|
|
|
35
35
|
"simple_auth.gemspec",
|
36
36
|
"spec/resources/controllers.rb",
|
37
37
|
"spec/resources/user.rb",
|
38
|
+
"spec/resources/views/dashboard/index.erb",
|
39
|
+
"spec/resources/views/session/new.erb",
|
38
40
|
"spec/schema.rb",
|
39
41
|
"spec/simple_auth/action_controller_spec.rb",
|
40
42
|
"spec/simple_auth/active_record_spec.rb",
|
@@ -1,7 +1,11 @@
|
|
1
1
|
# Add routes
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
if ENV["TARGET"] == "rails3"
|
3
|
+
# Rails.application.routes.add_route "/:controller/:action/:id"
|
4
|
+
else
|
5
|
+
ActionController::Routing::Routes.add_route "/:controller/:action/:id"
|
6
|
+
ActionController::Routing::Routes.add_named_route :login, "/login", :controller => "session", :action => "new"
|
7
|
+
ActionController::Routing::Routes.add_named_route :dashboard, "/dashboard", :controller => "dashboard", :action => "index"
|
8
|
+
end
|
5
9
|
|
6
10
|
class SampleController < ActionController::Base
|
7
11
|
end
|
File without changes
|
File without changes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.dirname(__FILE__) + "/../spec_helper"
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe DashboardController, :type => :controller do
|
4
4
|
before do
|
5
5
|
@user = User.create(
|
6
6
|
:login => "johndoe",
|
@@ -11,11 +11,11 @@ describe SimpleAuth::ActionController, :type => :controller do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
describe "require_logged_user" do
|
14
|
-
controller_name :dashboard
|
15
|
-
|
16
14
|
context "unlogged user" do
|
17
15
|
before do
|
18
|
-
|
16
|
+
if ENV["TARGET"] != "rails3"
|
17
|
+
DashboardController.filter_chain.pop if DashboardController.filter_chain.count > 1
|
18
|
+
end
|
19
19
|
end
|
20
20
|
|
21
21
|
context "return to" do
|
@@ -34,8 +34,8 @@ describe SimpleAuth::ActionController, :type => :controller do
|
|
34
34
|
end
|
35
35
|
|
36
36
|
it "should redirect when user is not authorized" do
|
37
|
-
controller.should_receive(:logged_in?).and_return(true)
|
38
|
-
controller.should_receive(:authorized?).and_return(false)
|
37
|
+
@controller.should_receive(:logged_in?).and_return(true)
|
38
|
+
@controller.should_receive(:authorized?).and_return(false)
|
39
39
|
|
40
40
|
get :index
|
41
41
|
response.should redirect_to("/login")
|
@@ -46,7 +46,12 @@ describe SimpleAuth::ActionController, :type => :controller do
|
|
46
46
|
DashboardController.require_logged_user :to => {:controller => "session", :action => "new"}
|
47
47
|
|
48
48
|
get :index
|
49
|
-
|
49
|
+
|
50
|
+
if ENV["TARGET"] == "rails3"
|
51
|
+
response.should redirect_to("/login")
|
52
|
+
else
|
53
|
+
response.should redirect_to("/session/new")
|
54
|
+
end
|
50
55
|
end
|
51
56
|
|
52
57
|
it "should be redirected [block]" do
|
@@ -75,29 +80,38 @@ describe SimpleAuth::ActionController, :type => :controller do
|
|
75
80
|
end
|
76
81
|
end
|
77
82
|
end
|
83
|
+
end
|
78
84
|
|
85
|
+
describe SessionController, :type => :controller do
|
86
|
+
before do
|
87
|
+
@user = User.create(
|
88
|
+
:login => "johndoe",
|
89
|
+
:email => "john@doe.com",
|
90
|
+
:password => "test",
|
91
|
+
:password_confirmation => "test"
|
92
|
+
)
|
93
|
+
end
|
94
|
+
|
79
95
|
describe "redirect_logged_users" do
|
80
|
-
controller_name :session
|
81
|
-
|
82
96
|
context "unlogged user" do
|
83
97
|
before do
|
84
98
|
get :new
|
85
99
|
end
|
86
|
-
|
100
|
+
|
87
101
|
it "should render page" do
|
88
102
|
response.should render_template(:new)
|
89
103
|
end
|
90
104
|
end
|
91
|
-
|
105
|
+
|
92
106
|
context "logged user" do
|
93
107
|
before do
|
94
108
|
session[:record_id] = @user.id
|
95
109
|
get :new
|
96
110
|
end
|
97
|
-
|
111
|
+
|
98
112
|
it "should be redirected" do
|
99
113
|
response.should redirect_to("/dashboard")
|
100
114
|
end
|
101
115
|
end
|
102
116
|
end
|
103
|
-
end
|
117
|
+
end
|
@@ -9,28 +9,28 @@ describe SimpleAuth::ActiveRecord do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
it "should require password" do
|
12
|
-
subject.should have(1).
|
12
|
+
[subject.errors[:password]].flatten.should have(1).item
|
13
13
|
end
|
14
14
|
|
15
15
|
it "should require password to be at least 4-chars long" do
|
16
16
|
subject.password = "123"
|
17
17
|
subject.should_not be_valid
|
18
|
-
subject.should have(1).
|
18
|
+
[subject.errors[:password]].flatten.should have(1).item
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should require password confirmation not to be empty" do
|
22
22
|
subject.password_confirmation = ""
|
23
|
-
subject.should have(1).
|
23
|
+
[subject.errors[:password_confirmation]].flatten.should have(1).item
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should require password confirmation not to be nil" do
|
27
27
|
subject.password_confirmation = nil
|
28
|
-
subject.should have(1).
|
28
|
+
[subject.errors[:password_confirmation]].flatten.should have(1).item
|
29
29
|
end
|
30
30
|
|
31
31
|
it "should unset password after saving" do
|
32
32
|
subject = User.new(:password => "test", :password_confirmation => "test")
|
33
|
-
subject.save
|
33
|
+
subject.save
|
34
34
|
subject.password.should be_nil
|
35
35
|
subject.password_confirmation.should be_nil
|
36
36
|
end
|
@@ -47,7 +47,7 @@ describe SimpleAuth::ActiveRecord do
|
|
47
47
|
|
48
48
|
it "should mark password as unchanged after saving" do
|
49
49
|
subject = User.new(:password => "test", :password_confirmation => "test")
|
50
|
-
subject.save
|
50
|
+
subject.save
|
51
51
|
subject.password_changed?.should be_false
|
52
52
|
end
|
53
53
|
end
|
@@ -75,13 +75,13 @@ describe SimpleAuth::ActiveRecord do
|
|
75
75
|
it "should require password confirmation when it has changed" do
|
76
76
|
subject.password = "newpass"
|
77
77
|
subject.should_not be_valid
|
78
|
-
subject.should have(1).
|
78
|
+
[subject.errors[:password_confirmation]].flatten.should have(1).item
|
79
79
|
end
|
80
80
|
|
81
81
|
it "should require password when it has changed to blank" do
|
82
82
|
subject.password = nil
|
83
83
|
subject.should_not be_valid
|
84
|
-
subject.should have(1).
|
84
|
+
[subject.errors[:password]].flatten.should have(1).item
|
85
85
|
end
|
86
86
|
|
87
87
|
it "should authenticate using email" do
|
@@ -1,6 +1,17 @@
|
|
1
1
|
require File.dirname(__FILE__) + "/../spec_helper"
|
2
2
|
|
3
3
|
describe SimpleAuth::Helper, :type => :helper do
|
4
|
+
if ENV["TARGET"] == "rails3"
|
5
|
+
attr_accessor :helper
|
6
|
+
|
7
|
+
before do
|
8
|
+
@helper = Object.new
|
9
|
+
@helper.class_eval { attr_accessor :output_buffer }
|
10
|
+
@helper.extend(SimpleAuth::Helper)
|
11
|
+
@helper.extend(ActionView::Helpers::CaptureHelper)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
4
15
|
it "should include module" do
|
5
16
|
ApplicationController.included_modules.include?(SimpleAuth::Helper)
|
6
17
|
end
|
@@ -11,7 +11,7 @@ describe SimpleAuth::Session do
|
|
11
11
|
|
12
12
|
@session = Hash.new
|
13
13
|
@controller = SampleController.new
|
14
|
-
@controller.session
|
14
|
+
@controller.stub!(:session).and_return(@session)
|
15
15
|
|
16
16
|
SimpleAuth::Config.controller = @controller
|
17
17
|
@user_session = SimpleAuth::Session.new(:credential => "johndoe", :password => "test")
|
data/spec/spec_helper.rb
CHANGED
@@ -22,9 +22,20 @@ require File.dirname(__FILE__) + "/resources/user"
|
|
22
22
|
require File.dirname(__FILE__) + "/resources/controllers"
|
23
23
|
|
24
24
|
# Restore default configuration
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
if ENV["TARGET"] == "rails3"
|
26
|
+
Rspec.configure do |config|
|
27
|
+
config.before :each do
|
28
|
+
load File.dirname(__FILE__) + "/../lib/simple_auth/config.rb"
|
29
|
+
SimpleAuth::Config.model = :user
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
ActionController::Base.prepend_view_path File.dirname(__FILE__) + "/resources/views"
|
34
|
+
else
|
35
|
+
Spec::Runner.configure do |config|
|
36
|
+
config.before :each do
|
37
|
+
load File.dirname(__FILE__) + "/../lib/simple_auth/config.rb"
|
38
|
+
SimpleAuth::Config.model = :user
|
39
|
+
end
|
29
40
|
end
|
30
41
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 7
|
9
|
+
version: 0.1.7
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Nando Vieira
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-05-07 00:00:00 -03:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|
@@ -47,6 +47,8 @@ files:
|
|
47
47
|
- simple_auth.gemspec
|
48
48
|
- spec/resources/controllers.rb
|
49
49
|
- spec/resources/user.rb
|
50
|
+
- spec/resources/views/dashboard/index.erb
|
51
|
+
- spec/resources/views/session/new.erb
|
50
52
|
- spec/schema.rb
|
51
53
|
- spec/simple_auth/action_controller_spec.rb
|
52
54
|
- spec/simple_auth/active_record_spec.rb
|