ubiquitous_user 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -126,6 +126,8 @@ configurable yet. What is configurable is the two methods it calls on user. You
126
126
  can do this kind of configuration in config/initializers/ubiquitous_user.rb for
127
127
  example:
128
128
 
129
+ UsableConfig::user_model = :Account
130
+ UsableConfig::user_model_new = :new_account
129
131
  UsableConfig::user_model_save = :save_bypassing_non_essential_validation
130
132
  UsableConfig::user_model_name = :name_or_else
131
133
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.2.0
@@ -0,0 +1,9 @@
1
+ Thank you for trying ubiquitous_user. To get all the magic going you need to
2
+ add usable to your application_controller.rb, something like:
3
+
4
+ class ApplicationController < ActionController::Base
5
+ include Usable
6
+ #...
7
+ end
8
+
9
+ For more information see: http://github.com/pupeno/ubiquitous_user
@@ -0,0 +1,6 @@
1
+ # Configure ubiquitous user. For more information see http://github.com/pupeno/ubiquitous_user
2
+
3
+ # UsableConfig::user_model = :User
4
+ # UsableConfig::user_model_new = :new
5
+ # UsableConfig::user_model_save = :save
6
+ # UsableConfig::user_model_name = :name
@@ -0,0 +1,9 @@
1
+ class UbiquitousUserGenerator < Rails::Generator::Base
2
+ def manifest
3
+ record do |m|
4
+ m.file 'initializer.rb', 'config/initializers/ubiquitous_user.rb'
5
+
6
+ m.readme 'INSTALL'
7
+ end
8
+ end
9
+ end
@@ -1,13 +1,26 @@
1
1
  module UsableConfig
2
+ @user_model = :User
3
+ @user_model_new = :new
2
4
  @user_model_save = :save
3
5
  @user_model_name = :name
4
6
 
7
+ # Class that defines the user model.
8
+ attr_accessor :user_model
9
+ module_function :user_model, :user_model=
10
+ # Method used to create a new user, of class user_model
11
+ attr_accessor :user_model_new
12
+ module_function :user_model_new, :user_model_new=
5
13
  # Method used to save the user.
6
14
  attr_accessor :user_model_save
15
+ module_function :user_model_save, :user_model_save=
7
16
  # Method used to get the name of the user.
8
17
  attr_accessor :user_model_name
9
-
10
- module_function :user_model_save, :user_model_save=, :user_model_name, :user_model_name=
18
+ module_function :user_model_name, :user_model_name=
19
+
20
+ def user_model_class # :nodoc:
21
+ Object.const_get(user_model)
22
+ end
23
+ module_function :user_model_class
11
24
  end
12
25
 
13
26
  module UsableHelpers
@@ -19,11 +32,11 @@ module UsableHelpers
19
32
  return @ubiquitous_user if @ubiquitous_user != nil
20
33
 
21
34
  # Try to find the user in the database if session[:user_id] is defined.
22
- @ubiquitous_user = User.find(session[:user_id]) if session[:user_id] != nil
35
+ @ubiquitous_user = UsableConfig::user_model_class.find(session[:user_id]) if session[:user_id] != nil
23
36
  return @ubiquitous_user if @ubiquitous_user != nil
24
37
 
25
38
  # Create a new user object.
26
- @ubiquitous_user = User.new()
39
+ @ubiquitous_user = UsableConfig::user_model_class.send(UsableConfig::user_model_new)
27
40
  if options[:create]
28
41
  # Save the user in the database and set the session user_id for latter.
29
42
  @ubiquitous_user.send(UsableConfig::user_model_save)
@@ -52,7 +65,7 @@ module Usable
52
65
  end
53
66
 
54
67
  def authorize
55
- unless User.find_by_id(session[:user_id]) and session[:user_name] != nil
68
+ unless UsableConfig::user_model_class.find_by_id(session[:user_id]) and session[:user_name] != nil
56
69
  flash[:notice] = "Please log in."
57
70
  redirect_to new_session_url
58
71
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ubiquitous_user
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - "J. Pablo Fern\xC3\xA1ndez"
@@ -36,8 +36,9 @@ files:
36
36
  - README.rdoc
37
37
  - Rakefile
38
38
  - VERSION
39
- - generators/ubiquitous_user/USAGE
40
- - generators/ubiquitous_user/ubiquitous_user.rb
39
+ - generators/ubiquitous_user/templates/INSTALL
40
+ - generators/ubiquitous_user/templates/initializer.rb
41
+ - generators/ubiquitous_user/ubiquitous_user_generator.rb
41
42
  - lib/ubiquitous_user.rb
42
43
  has_rdoc: true
43
44
  homepage: http://github.com/pupeno/ubiquitous_user
@@ -1 +0,0 @@
1
- blah blah
@@ -1,7 +0,0 @@
1
- class VersionGenerator < Rails::Generator::Base
2
- def manifest
3
- record do |m|
4
- # Do something
5
- end
6
- end
7
- end