simple_auth 0.1.8 → 1.0.1
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/.gitignore +5 -0
- data/.rspec +1 -0
- data/Gemfile +13 -0
- data/Gemfile.lock +109 -0
- data/README.markdown +13 -29
- data/Rakefile +21 -33
- data/lib/simple_auth/action_controller.rb +42 -38
- data/lib/simple_auth/active_record.rb +59 -47
- data/lib/simple_auth/config.rb +8 -3
- data/lib/simple_auth/generator.rb +11 -0
- data/lib/simple_auth/railtie.rb +24 -0
- data/lib/simple_auth/session.rb +12 -0
- data/lib/simple_auth/version.rb +3 -3
- data/lib/simple_auth.rb +1 -7
- data/simple_auth.gemspec +35 -21
- data/spec/controllers/redirect_logged_user_spec.rb +87 -0
- data/spec/controllers/require_logged_user_spec.rb +105 -0
- data/spec/schema.rb +4 -0
- data/spec/simple_auth/active_record_spec.rb +32 -15
- data/spec/simple_auth/config_spec.rb +7 -1
- data/spec/simple_auth/helper_spec.rb +12 -16
- data/spec/simple_auth/session_spec.rb +9 -7
- data/spec/spec_helper.rb +9 -34
- data/spec/support/app/controllers/application_controller.rb +2 -0
- data/spec/support/app/models/account.rb +2 -0
- data/spec/{resources → support/app/models}/user.rb +1 -1
- data/spec/{resources → support/app}/views/dashboard/index.erb +0 -0
- data/spec/{resources → support/app}/views/session/new.erb +0 -0
- data/spec/support/config/boot.rb +14 -0
- data/spec/support/config/database.yml +3 -0
- data/spec/support/config/routes.rb +4 -0
- data/{generators/simple_auth/templates/simple_auth.rb → templates/initializer.rb} +5 -4
- metadata +47 -21
- data/generators/simple_auth/USAGE +0 -5
- data/generators/simple_auth/simple_auth_generator.rb +0 -7
- data/init.rb +0 -1
- data/spec/resources/controllers.rb +0 -35
- data/spec/simple_auth/action_controller_spec.rb +0 -117
metadata
CHANGED
@@ -3,10 +3,10 @@ name: simple_auth
|
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
|
+
- 1
|
6
7
|
- 0
|
7
8
|
- 1
|
8
|
-
|
9
|
-
version: 0.1.8
|
9
|
+
version: 1.0.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Nando Vieira
|
@@ -14,13 +14,25 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-10-12 00:00:00 -03:00
|
18
18
|
default_executable:
|
19
|
-
dependencies:
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: rails
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 3
|
30
|
+
- 0
|
31
|
+
- 0
|
32
|
+
version: 3.0.0
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
description: When Authlogic & Devise are just too much.
|
24
36
|
email: fnando.vieira@gmail.com
|
25
37
|
executables: []
|
26
38
|
|
@@ -29,33 +41,41 @@ extensions: []
|
|
29
41
|
extra_rdoc_files:
|
30
42
|
- README.markdown
|
31
43
|
files:
|
44
|
+
- .gitignore
|
45
|
+
- .rspec
|
46
|
+
- Gemfile
|
47
|
+
- Gemfile.lock
|
32
48
|
- README.markdown
|
33
49
|
- Rakefile
|
34
50
|
- config/locales/en.yml
|
35
51
|
- config/locales/pt.yml
|
36
|
-
- generators/simple_auth/USAGE
|
37
|
-
- generators/simple_auth/simple_auth_generator.rb
|
38
|
-
- generators/simple_auth/templates/simple_auth.rb
|
39
|
-
- init.rb
|
40
52
|
- lib/simple_auth.rb
|
41
53
|
- lib/simple_auth/action_controller.rb
|
42
54
|
- lib/simple_auth/active_record.rb
|
43
55
|
- lib/simple_auth/config.rb
|
56
|
+
- lib/simple_auth/generator.rb
|
44
57
|
- lib/simple_auth/helper.rb
|
58
|
+
- lib/simple_auth/railtie.rb
|
45
59
|
- lib/simple_auth/session.rb
|
46
60
|
- lib/simple_auth/version.rb
|
47
61
|
- simple_auth.gemspec
|
48
|
-
- spec/
|
49
|
-
- spec/
|
50
|
-
- spec/resources/views/dashboard/index.erb
|
51
|
-
- spec/resources/views/session/new.erb
|
62
|
+
- spec/controllers/redirect_logged_user_spec.rb
|
63
|
+
- spec/controllers/require_logged_user_spec.rb
|
52
64
|
- spec/schema.rb
|
53
|
-
- spec/simple_auth/action_controller_spec.rb
|
54
65
|
- spec/simple_auth/active_record_spec.rb
|
55
66
|
- spec/simple_auth/config_spec.rb
|
56
67
|
- spec/simple_auth/helper_spec.rb
|
57
68
|
- spec/simple_auth/session_spec.rb
|
58
69
|
- spec/spec_helper.rb
|
70
|
+
- spec/support/app/controllers/application_controller.rb
|
71
|
+
- spec/support/app/models/account.rb
|
72
|
+
- spec/support/app/models/user.rb
|
73
|
+
- spec/support/app/views/dashboard/index.erb
|
74
|
+
- spec/support/app/views/session/new.erb
|
75
|
+
- spec/support/config/boot.rb
|
76
|
+
- spec/support/config/database.yml
|
77
|
+
- spec/support/config/routes.rb
|
78
|
+
- templates/initializer.rb
|
59
79
|
has_rdoc: true
|
60
80
|
homepage: http://github.com/fnando/simple_auth
|
61
81
|
licenses: []
|
@@ -66,6 +86,7 @@ rdoc_options:
|
|
66
86
|
require_paths:
|
67
87
|
- lib
|
68
88
|
required_ruby_version: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
69
90
|
requirements:
|
70
91
|
- - ">="
|
71
92
|
- !ruby/object:Gem::Version
|
@@ -73,6 +94,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
73
94
|
- 0
|
74
95
|
version: "0"
|
75
96
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
76
98
|
requirements:
|
77
99
|
- - ">="
|
78
100
|
- !ruby/object:Gem::Version
|
@@ -82,17 +104,21 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
82
104
|
requirements: []
|
83
105
|
|
84
106
|
rubyforge_project:
|
85
|
-
rubygems_version: 1.3.
|
107
|
+
rubygems_version: 1.3.7
|
86
108
|
signing_key:
|
87
109
|
specification_version: 3
|
88
110
|
summary: A simple authentication system for Rails apps
|
89
111
|
test_files:
|
90
|
-
- spec/
|
91
|
-
- spec/
|
112
|
+
- spec/controllers/redirect_logged_user_spec.rb
|
113
|
+
- spec/controllers/require_logged_user_spec.rb
|
92
114
|
- spec/schema.rb
|
93
|
-
- spec/simple_auth/action_controller_spec.rb
|
94
115
|
- spec/simple_auth/active_record_spec.rb
|
95
116
|
- spec/simple_auth/config_spec.rb
|
96
117
|
- spec/simple_auth/helper_spec.rb
|
97
118
|
- spec/simple_auth/session_spec.rb
|
98
119
|
- spec/spec_helper.rb
|
120
|
+
- spec/support/app/controllers/application_controller.rb
|
121
|
+
- spec/support/app/models/account.rb
|
122
|
+
- spec/support/app/models/user.rb
|
123
|
+
- spec/support/config/boot.rb
|
124
|
+
- spec/support/config/routes.rb
|
data/init.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require "simple_auth"
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# Add routes
|
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
|
9
|
-
|
10
|
-
class SampleController < ActionController::Base
|
11
|
-
end
|
12
|
-
|
13
|
-
class SessionController < ActionController::Base
|
14
|
-
redirect_logged_user :to => {:controller => "dashboard"}
|
15
|
-
|
16
|
-
def new
|
17
|
-
@user_session = SimpleAuth::Session.new
|
18
|
-
end
|
19
|
-
|
20
|
-
def create
|
21
|
-
@user_session = SimpleAuth::Session.new(params[:session])
|
22
|
-
|
23
|
-
if @user_session.save
|
24
|
-
redirect_to session.delete(:return_to) || dashboard_path
|
25
|
-
else
|
26
|
-
flash[:alert] = "Invalid login/password."
|
27
|
-
render :new
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
class DashboardController < ActionController::Base
|
33
|
-
def index
|
34
|
-
end
|
35
|
-
end
|
@@ -1,117 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + "/../spec_helper"
|
2
|
-
|
3
|
-
describe DashboardController, :type => :controller do
|
4
|
-
before do
|
5
|
-
@user = User.create(
|
6
|
-
:login => "johndoe",
|
7
|
-
:email => "john@doe.com",
|
8
|
-
:password => "test",
|
9
|
-
:password_confirmation => "test"
|
10
|
-
)
|
11
|
-
end
|
12
|
-
|
13
|
-
describe "require_logged_user" do
|
14
|
-
context "unlogged user" do
|
15
|
-
before do
|
16
|
-
if ENV["TARGET"] != "rails3"
|
17
|
-
DashboardController.filter_chain.pop if DashboardController.filter_chain.count > 1
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
context "return to" do
|
22
|
-
before do
|
23
|
-
DashboardController.require_logged_user :to => "/login"
|
24
|
-
end
|
25
|
-
|
26
|
-
it "should set return to" do
|
27
|
-
get :index
|
28
|
-
session[:return_to].should == "/dashboard"
|
29
|
-
end
|
30
|
-
|
31
|
-
it "should set warning message" do
|
32
|
-
get :index
|
33
|
-
flash[:alert].should == "You need to be logged"
|
34
|
-
end
|
35
|
-
|
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)
|
39
|
-
|
40
|
-
get :index
|
41
|
-
response.should redirect_to("/login")
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
it "should be redirected [hash]" do
|
46
|
-
DashboardController.require_logged_user :to => {:controller => "session", :action => "new"}
|
47
|
-
|
48
|
-
get :index
|
49
|
-
|
50
|
-
if ENV["TARGET"] == "rails3"
|
51
|
-
response.should redirect_to("/login")
|
52
|
-
else
|
53
|
-
response.should redirect_to("/session/new")
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
it "should be redirected [block]" do
|
58
|
-
DashboardController.require_logged_user :to => proc { login_path }
|
59
|
-
|
60
|
-
get :index
|
61
|
-
response.should redirect_to("/login")
|
62
|
-
end
|
63
|
-
|
64
|
-
it "should be redirected [string]" do
|
65
|
-
DashboardController.require_logged_user :to => "/login"
|
66
|
-
|
67
|
-
get :index
|
68
|
-
response.should redirect_to("/login")
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
context "logged user" do
|
73
|
-
before do
|
74
|
-
session[:record_id] = @user.id
|
75
|
-
get :index
|
76
|
-
end
|
77
|
-
|
78
|
-
it "should render page" do
|
79
|
-
response.should render_template(:index)
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
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
|
-
|
95
|
-
describe "redirect_logged_users" do
|
96
|
-
context "unlogged user" do
|
97
|
-
before do
|
98
|
-
get :new
|
99
|
-
end
|
100
|
-
|
101
|
-
it "should render page" do
|
102
|
-
response.should render_template(:new)
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
context "logged user" do
|
107
|
-
before do
|
108
|
-
session[:record_id] = @user.id
|
109
|
-
get :new
|
110
|
-
end
|
111
|
-
|
112
|
-
it "should be redirected" do
|
113
|
-
response.should redirect_to("/dashboard")
|
114
|
-
end
|
115
|
-
end
|
116
|
-
end
|
117
|
-
end
|