authpwn_rails 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -4,8 +4,19 @@ User authentication for a Ruby on Rails 3 application. Works with Facebook.
4
4
 
5
5
  == Integration
6
6
 
7
- Generate the structure for user accounts:
8
- rails g authpwn_rails
7
+ Scaffold user accounts, session controller views, and Facebook extensions.
8
+ rails g authpwn_rails:users
9
+ rails g authpwn_rails:session_views
10
+ rails g authpwn_rails:facebook
11
+
12
+ Wire authentication into your ApplicationController.
13
+ authenticates_using_session
14
+ authenticates_using_facebook_token
15
+
16
+
17
+ Note: the code inside the models and controllers is tucked away in the plug-in.
18
+ The scaffold models and controllers are there as extension points. You will be
19
+ able to update the plug-in without regenerating the scaffolds.
9
20
 
10
21
  == Note on Patches/Pull Requests
11
22
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.1
1
+ 0.4.2
@@ -2,6 +2,12 @@
2
2
  class SessionController < ApplicationController
3
3
  authenticates_using_session
4
4
 
5
+ # GET /session/new
6
+ def new
7
+ @user = User.new
8
+ redirect_to session_url if current_user
9
+ end
10
+
5
11
  # GET /session
6
12
  def show
7
13
  @user = current_user || User.new
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{authpwn_rails}
8
- s.version = "0.4.1"
8
+ s.version = "0.4.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Victor Costan"]
12
- s.date = %q{2010-08-03}
12
+ s.date = %q{2010-08-06}
13
13
  s.description = %q{Works with Facebook.}
14
14
  s.email = %q{victor@costan.us}
15
15
  s.extra_rdoc_files = [
@@ -38,6 +38,7 @@ Gem::Specification.new do |s|
38
38
  "lib/authpwn_rails/generators/templates/facebook_token.rb",
39
39
  "lib/authpwn_rails/generators/templates/facebook_tokens.yml",
40
40
  "lib/authpwn_rails/generators/templates/session/home.html.erb",
41
+ "lib/authpwn_rails/generators/templates/session/new.html.erb",
41
42
  "lib/authpwn_rails/generators/templates/session/welcome.html.erb",
42
43
  "lib/authpwn_rails/generators/templates/user.rb",
43
44
  "lib/authpwn_rails/generators/templates/users.yml",
@@ -8,6 +8,8 @@ class SessionViewsGenerator < Rails::Generators::Base
8
8
  def create_session_views
9
9
  copy_file File.join('session', 'home.html.erb'),
10
10
  File.join('app', 'views', 'session', 'home.html.erb')
11
+ copy_file File.join('session', 'new.html.erb'),
12
+ File.join('app', 'views', 'session', 'new.html.erb')
11
13
  copy_file File.join('session', 'welcome.html.erb'),
12
14
  File.join('app', 'views', 'session', 'welcome.html.erb')
13
15
  end
@@ -1,4 +1,5 @@
1
1
  <p>
2
2
  This view gets displayed when the user is logged in. Right now,
3
- <%= @current_user.email %> is logged in.
3
+ <%= current_user.email %> is logged in. You should allow the user to
4
+ <%= link_to 'Log out', session_path, :method => :destroy %>.
4
5
  </p>
@@ -0,0 +1,17 @@
1
+ <p>This is a sample login form. You should customize it for your users.</p>
2
+
3
+ <%= form_for User.new, :url => session_path do |f| %>
4
+ <div class="field">
5
+ <%= f.label :email, 'Email Address' %><br />
6
+ <%= f.text_field :email %>
7
+ </div>
8
+
9
+ <div class="field">
10
+ <%= f.label :password %><br />
11
+ <%= f.password_field :password %>
12
+ </div>
13
+
14
+ <div class="actions">
15
+ <%= f.submit 'Log in' %>
16
+ </div>
17
+ <% end %>
@@ -1,4 +1,5 @@
1
1
  <p>
2
2
  This view gets displayed when the user is not logged in. Entice the user to
3
- register for your application, and give them a login form.
3
+ sign up for your application, and point them to
4
+ <%= link_to 'the login form', new_session_path %>.
4
5
  </p>
@@ -20,6 +20,25 @@ class SessionControllerTest < ActionController::TestCase
20
20
  assert_equal @user, assigns(:current_user)
21
21
  end
22
22
 
23
+ test "new redirects homes with a user" do
24
+ set_session_current_user @user
25
+ get :new
26
+ assert_redirected_to session_url
27
+ end
28
+
29
+ test "new renders login form without a user" do
30
+ get :new
31
+ assert_template :new
32
+ assert_nil assigns(:current_user), 'current_user should not be set'
33
+ assert assigns(:user).new_record?, 'user instance variable should be fresh'
34
+
35
+ assert_select 'form' do
36
+ assert_select 'input#user_email'
37
+ assert_select 'input#user_password'
38
+ assert_select 'input[type=submit]'
39
+ end
40
+ end
41
+
23
42
  test "create logs in with good account details" do
24
43
  post :create, :user => { :email => @user.email, :password => 'password' }
25
44
  assert_redirected_to session_url
data/test/test_helper.rb CHANGED
@@ -11,8 +11,9 @@ require 'sqlite3'
11
11
 
12
12
  require 'authpwn_rails'
13
13
 
14
+ require 'helpers/view_helpers.rb'
15
+ # NOTE: application_controller has to follow view_helpers
14
16
  require 'helpers/application_controller.rb'
15
17
  require 'helpers/db_setup.rb'
16
18
  require 'helpers/fbgraph.rb'
17
19
  require 'helpers/routes.rb'
18
- require 'helpers/view_helpers.rb'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authpwn_rails
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 11
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
- - 1
10
- version: 0.4.1
9
+ - 2
10
+ version: 0.4.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Victor Costan
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-03 00:00:00 -04:00
18
+ date: 2010-08-06 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -98,6 +98,7 @@ files:
98
98
  - lib/authpwn_rails/generators/templates/facebook_token.rb
99
99
  - lib/authpwn_rails/generators/templates/facebook_tokens.yml
100
100
  - lib/authpwn_rails/generators/templates/session/home.html.erb
101
+ - lib/authpwn_rails/generators/templates/session/new.html.erb
101
102
  - lib/authpwn_rails/generators/templates/session/welcome.html.erb
102
103
  - lib/authpwn_rails/generators/templates/user.rb
103
104
  - lib/authpwn_rails/generators/templates/users.yml