devise_invitable 0.2.0 → 0.2.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/README.rdoc CHANGED
@@ -68,6 +68,10 @@ Define a migration to add invitable to your model:
68
68
  t.index :invitation_token
69
69
  end
70
70
 
71
+ # Allow null encrypted_password and password_salt
72
+ change_column :your_table, :encrypted_password, :string, :null => true
73
+ change_column :your_table, :password_salt, :string, :null => true
74
+
71
75
  Add :invitable to the devise line of your model, or to config.all in devise initializer if your model uses devise :all.
72
76
 
73
77
  Override authenticate_resource! filter if you need to customize who can send invitations.
data/Rakefile CHANGED
@@ -12,7 +12,7 @@ begin
12
12
  gem.authors = ["Sergio Cambra"]
13
13
  gem.add_development_dependency 'mocha'
14
14
  gem.add_development_dependency 'webrat'
15
- gem.add_dependency 'devise', '~> 0.8.0'
15
+ gem.add_dependency 'devise', '~> 0.9.0'
16
16
  end
17
17
  Jeweler::GemcutterTasks.new
18
18
  rescue LoadError
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
@@ -1,22 +1,17 @@
1
1
  class InvitationsController < ApplicationController
2
- include Devise::Controllers::Helpers
2
+ include Devise::Controllers::InternalHelpers
3
+ include Devise::Controllers::Common
3
4
 
4
5
  before_filter :authenticate_resource!, :only => [:new, :create]
5
6
  before_filter :require_no_authentication, :only => [:edit, :update]
6
7
  helper_method :after_sign_in_path_for
7
8
 
8
- # GET /resource/invitation/new
9
- def new
10
- build_resource
11
- render_with_scope :new
12
- end
13
-
14
9
  # POST /resource/invitation
15
10
  def create
16
- self.resource = resource_class.send_invitation(params[resource_name])
11
+ self.resource = resource_class.send(send_instructions_with, params[resource_name])
17
12
 
18
13
  if resource.errors.empty?
19
- set_flash_message :success, :send_invitation
14
+ set_flash_message :notice, :send_instructions
20
15
  redirect_to after_sign_in_path_for(resource_name)
21
16
  else
22
17
  render_with_scope :new
@@ -35,10 +30,15 @@ class InvitationsController < ApplicationController
35
30
  self.resource = resource_class.accept_invitation!(params[resource_name])
36
31
 
37
32
  if resource.errors.empty?
38
- set_flash_message :success, :updated
33
+ set_flash_message :notice, :updated
39
34
  sign_in_and_redirect(resource_name, resource)
40
35
  else
41
36
  render_with_scope :edit
42
37
  end
43
38
  end
39
+
40
+ protected
41
+ def send_instructions_with
42
+ :send_invitation
43
+ end
44
44
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{devise_invitable}
8
- s.version = "0.2.0"
8
+ s.version = "0.2.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Sergio Cambra"]
12
- s.date = %q{2010-01-08}
12
+ s.date = %q{2010-02-08}
13
13
  s.description = %q{It adds support for send invitations by email (it requires to be authenticated) and accept the invitation setting the password}
14
14
  s.email = %q{sergio@entrecables.com}
15
15
  s.extra_rdoc_files = [
@@ -29,12 +29,12 @@ Gem::Specification.new do |s|
29
29
  "app/views/invitations/new.html.erb",
30
30
  "devise_invitable.gemspec",
31
31
  "init.rb",
32
- "lib/devise/controllers/filters.rb",
32
+ "lib/devise/controllers/helpers.rb",
33
33
  "lib/devise/controllers/url_helpers.rb",
34
- "lib/devise/models/invitable.rb",
35
34
  "lib/devise_invitable.rb",
36
35
  "lib/devise_invitable/locales/en.yml",
37
36
  "lib/devise_invitable/mailer.rb",
37
+ "lib/devise_invitable/model.rb",
38
38
  "lib/devise_invitable/rails.rb",
39
39
  "lib/devise_invitable/routes.rb",
40
40
  "lib/devise_invitable/schema.rb",
@@ -109,16 +109,16 @@ Gem::Specification.new do |s|
109
109
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
110
110
  s.add_development_dependency(%q<mocha>, [">= 0"])
111
111
  s.add_development_dependency(%q<webrat>, [">= 0"])
112
- s.add_runtime_dependency(%q<devise>, ["~> 0.8.0"])
112
+ s.add_runtime_dependency(%q<devise>, ["~> 0.9.0"])
113
113
  else
114
114
  s.add_dependency(%q<mocha>, [">= 0"])
115
115
  s.add_dependency(%q<webrat>, [">= 0"])
116
- s.add_dependency(%q<devise>, ["~> 0.8.0"])
116
+ s.add_dependency(%q<devise>, ["~> 0.9.0"])
117
117
  end
118
118
  else
119
119
  s.add_dependency(%q<mocha>, [">= 0"])
120
120
  s.add_dependency(%q<webrat>, [">= 0"])
121
- s.add_dependency(%q<devise>, ["~> 0.8.0"])
121
+ s.add_dependency(%q<devise>, ["~> 0.9.0"])
122
122
  end
123
123
  end
124
124
 
@@ -1,4 +1,4 @@
1
- Devise::Controllers::Filters.module_eval do
1
+ Devise::Controllers::Helpers.module_eval do
2
2
  protected
3
3
  def authenticate_resource!
4
4
  authenticate!(resource_name)
@@ -3,8 +3,7 @@ Devise.module_eval do
3
3
  mattr_accessor :invite_for
4
4
  @@invite_for = 0
5
5
  end
6
- Devise::ALL << :invitable
7
- Devise::CONTROLLERS[:invitations] = [:invitable]
6
+ Devise.add_module :invitable, :controller => :invitations, :model => 'devise_invitable/model'
8
7
 
9
8
  module DeviseInvitable; end
10
9
 
@@ -1,5 +1,5 @@
1
1
  en:
2
2
  devise:
3
3
  invitations:
4
- send_invitation: 'An email with instructions about how to set the password has been sent.'
4
+ send_instructions: 'An email with instructions about how to set the password has been sent.'
5
5
  updated: 'Your password was set successfully. You are now signed in.'
@@ -40,7 +40,7 @@ class InvitationTest < ActionController::IntegrationTest
40
40
 
41
41
  send_invitation
42
42
  assert_template 'home/index'
43
- assert_equal 'An email with instructions about how to set the password has been sent.', flash[:success]
43
+ assert_equal 'An email with instructions about how to set the password has been sent.', flash[:notice]
44
44
  end
45
45
 
46
46
  test 'authenticated user with invalid email should receive an error message' do
@@ -95,7 +95,7 @@ class InvitationTest < ActionController::IntegrationTest
95
95
  set_password :invitation_token => user.invitation_token
96
96
 
97
97
  assert_template 'home/index'
98
- assert_equal 'Your password was set successfully. You are now signed in.', flash[:success]
98
+ assert_equal 'Your password was set successfully. You are now signed in.', flash[:notice]
99
99
  assert user.reload.valid_password?('987654321')
100
100
  end
101
101
 
@@ -109,7 +109,7 @@ class InvitationTest < ActionController::IntegrationTest
109
109
  assert_not user.reload.valid_password?('987654321')
110
110
 
111
111
  set_password :invitation_token => user.invitation_token
112
- assert_equal 'Your password was set successfully. You are now signed in.', flash[:success]
112
+ assert_equal 'Your password was set successfully. You are now signed in.', flash[:notice]
113
113
  assert user.reload.valid_password?('987654321')
114
114
  end
115
115
 
data/test/test_helper.rb CHANGED
@@ -4,9 +4,8 @@ require File.join(File.dirname(__FILE__), 'rails_app', 'config', 'environment')
4
4
  require 'test_help'
5
5
  require 'mocha'
6
6
  require 'webrat'
7
- require File.join(File.dirname(__FILE__), '..', 'lib', 'devise', 'models', 'invitable')
8
7
  require File.join(File.dirname(__FILE__), '..', 'lib', 'devise', 'controllers', 'url_helpers')
9
- require File.join(File.dirname(__FILE__), '..', 'lib', 'devise', 'controllers', 'filters')
8
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'devise', 'controllers', 'helpers')
10
9
  ActionView::Base.send :include, Devise::Controllers::UrlHelpers
11
10
 
12
11
  path = File.join(File.dirname(__FILE__), '..', 'app', 'views')
@@ -37,7 +36,7 @@ ActionController::Routing::Routes.draw do |map|
37
36
  map.devise_for :users
38
37
  end
39
38
  require File.join(File.dirname(__FILE__), '..', 'app', 'controllers', 'invitations_controller')
40
- InvitationsController.send :include, Devise::Controllers::Filters
39
+ InvitationsController.send :include, Devise::Controllers::Helpers
41
40
 
42
41
  Webrat.configure do |config|
43
42
  config.mode = :rails
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_invitable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergio Cambra
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-08 00:00:00 +01:00
12
+ date: 2010-02-08 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -40,7 +40,7 @@ dependencies:
40
40
  requirements:
41
41
  - - ~>
42
42
  - !ruby/object:Gem::Version
43
- version: 0.8.0
43
+ version: 0.9.0
44
44
  version:
45
45
  description: It adds support for send invitations by email (it requires to be authenticated) and accept the invitation setting the password
46
46
  email: sergio@entrecables.com
@@ -64,12 +64,12 @@ files:
64
64
  - app/views/invitations/new.html.erb
65
65
  - devise_invitable.gemspec
66
66
  - init.rb
67
- - lib/devise/controllers/filters.rb
67
+ - lib/devise/controllers/helpers.rb
68
68
  - lib/devise/controllers/url_helpers.rb
69
- - lib/devise/models/invitable.rb
70
69
  - lib/devise_invitable.rb
71
70
  - lib/devise_invitable/locales/en.yml
72
71
  - lib/devise_invitable/mailer.rb
72
+ - lib/devise_invitable/model.rb
73
73
  - lib/devise_invitable/rails.rb
74
74
  - lib/devise_invitable/routes.rb
75
75
  - lib/devise_invitable/schema.rb