auth_easy 0.0.7.pre

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.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZTIyODYyYTllNTVlN2RjZTE2ZmM0ZGI2YWM3OWQwZDFlNzcyYWExNg==
5
+ data.tar.gz: !binary |-
6
+ MWVhOGRmMDg4YzRmYmFlMjY5N2EyOTdjYTQxOTEyNWVkYzA5ZWQ1OQ==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ YjYyYzE5NTU3ZTQ2YWE0MGNjNmQ1OTNkOTBjNWNjYzU3NDhlZTA3ZDZiOWNl
10
+ N2VmZTY5Mjg5ODRmMWE5MDY5ZWIzZTJhY2Q0ZTA5NDJlOTRlNjM1ZGY1MWRk
11
+ ZjNmY2RiNzZiNDU5ZDA2MTA2YWQ1ZTVjYzZlOGI2NzQ3OGFkYmQ=
12
+ data.tar.gz: !binary |-
13
+ ZjAyYjliMTMzZTU4ZDgwM2ExMjkxOGIxZTgxMDUxZDE3ZGZhMTA5MjI2Y2Yy
14
+ YWQzN2EzZTBlOGQzYmFlZjM3M2QxYWNlZjQ0NTY2ODJkZTk0ZTIwMTM4MWY0
15
+ NjdkM2RiMGJlNzVmZmQ2ZTkzODBhOGYwMmVhNmM0MTZkN2Q5NjI=
data/lib/auth_easy.rb ADDED
@@ -0,0 +1,5 @@
1
+ require 'auth_easy/controller_additions'
2
+ require 'auth_easy/registration_actions'
3
+ require 'auth_easy/sessions_actions'
4
+ require 'auth_easy/form_fields'
5
+ require 'auth_easy/form_helpers'
@@ -0,0 +1,36 @@
1
+ module AuthEasy
2
+
3
+ module ControllerAdditions
4
+ def login_required
5
+ redirect_to(login_path, :notice => "You're not logged in") if !logged_in?
6
+ end
7
+
8
+ def logged_in?
9
+ !!current_user
10
+ end
11
+
12
+ def current_user
13
+ # raise session[:user_id].inspect
14
+ @current_user ||= User.find(session[:user_id]) if session[:user_id]
15
+ end
16
+
17
+ def login(user)
18
+ session[:user_id] = user.id
19
+ @current_user = user
20
+ end
21
+
22
+ def tester
23
+ "This is a test return!!!!!"
24
+ end
25
+
26
+ def self.included(base)
27
+ base.helper_method :current_user, :logged_in?, :tester
28
+ end
29
+ end
30
+ end
31
+
32
+ if defined? ActionController::Base
33
+ ActionController::Base.class_eval do
34
+ include AuthEasy::ControllerAdditions
35
+ end
36
+ end
@@ -0,0 +1,18 @@
1
+ module FormInputFields
2
+ def fields
3
+ "<input name='utf8' type='hidden' value='&#x2713;' /><input name='authenticity_token' type='hidden' value='bdFmr91W7R9zUskugsJD2IocJL0jurJ48eSZ0uKHloU=' /></div>
4
+ "+ email_field + password_field + submit_field
5
+ end
6
+
7
+ def email_field
8
+ "<label for='email'>Email</label><input id='email' name='user[email]' type='text' /><br>"
9
+ end
10
+
11
+ def password_field
12
+ "<label for='password'>Password</label>
13
+ <input id='password' name='user[password]' type='password' /><br>"
14
+ end
15
+ def submit_field
16
+ "<input name='commit' type='submit' value='submit' />"
17
+ end
18
+ end
@@ -0,0 +1,47 @@
1
+ module AuthEasy
2
+ module LoginFormHelpers
3
+ include FormInputFields
4
+
5
+ def simple_login_form
6
+ form = "<form accept-charset='UTF-8' action='/sessions' method='post'><div style='margin:0;padding:0;display:inline'>" + fields + "</form>"
7
+ form.html_safe
8
+ end
9
+
10
+ def self.included(base)
11
+ base.helper_method :simple_login_form
12
+ end
13
+ end
14
+
15
+ module RegisterFormHelpers
16
+ include FormInputFields
17
+
18
+ def simple_register_form
19
+ form = "<form accept-charset='UTF-8' action='/users' method='post'><div style='margin:0;padding:0;display:inline'>" + fields + "</form>"
20
+ form.html_safe
21
+ end
22
+
23
+ def self.included(base)
24
+ base.helper_method :simple_register_form
25
+ end
26
+ end
27
+ module LogOut
28
+ def simple_logout_link
29
+ "<a href='/logout' data-method='delete'>logout</a>".html_safe
30
+ end
31
+ def self.included(base)
32
+ base.helper_method :simple_logout_link
33
+ end
34
+ end
35
+ end
36
+
37
+ if defined? ActionController::Base
38
+ ActionController::Base.class_eval do
39
+ include AuthEasy::LoginFormHelpers
40
+ include AuthEasy::RegisterFormHelpers
41
+ include AuthEasy::LogOut
42
+ end
43
+ end
44
+
45
+
46
+
47
+
@@ -0,0 +1,34 @@
1
+ module AuthEasy
2
+ module RegistrationActions
3
+ def new
4
+ end
5
+
6
+ def create
7
+ @user = User.new(params[:user])
8
+ if @user.save
9
+ login(@user)
10
+ redirect_to request.referer
11
+ else
12
+ flash[:notice] = "Invalid Email or Password"
13
+ redirect_to action: 'new'
14
+ end
15
+ end
16
+ end
17
+
18
+ module UserModelAdditions
19
+ # The code below doesn't seem to work at all
20
+ # def self.included(base)
21
+ # base.send(:has_secure_password)
22
+ # base.send.(:attr_accessible, :email, :password)
23
+ # end
24
+ end
25
+ end
26
+
27
+ # To Use the registration actions add: include AuthEasy::RegistrationActions in your
28
+ # user controller
29
+
30
+ if defined? User
31
+ User.class_eval do
32
+ include AuthEasy::UserModelAdditions
33
+ end
34
+ end
@@ -0,0 +1,25 @@
1
+ module AuthEasy
2
+ module SessionsActions
3
+
4
+ def new
5
+ end
6
+
7
+ def create
8
+ user = User.find_by_email(params[:user][:email])
9
+ if user && user.authenticate(params[:user][:password])
10
+ login(user)
11
+ redirect_to request.referer, :notice => "Logged in!"
12
+ else
13
+ flash[:notice] = "Invalid Email or Password"
14
+ redirect_to request.referer
15
+ end
16
+ end
17
+
18
+ def destroy
19
+ reset_session
20
+ redirect_to request.referer, :notice => "Logged out!"
21
+ end
22
+ end
23
+ end
24
+
25
+ #In order to use: include AuthEasy::SessionsActions in your SessionsController.
metadata ADDED
@@ -0,0 +1,63 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: auth_easy
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.7.pre
5
+ platform: ruby
6
+ authors:
7
+ - Thomas Deatherage
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-07-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bcrypt-ruby
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 3.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 3.0.0
27
+ description: Set up basic authentication and session management with dis gem
28
+ email: deatheragethomas@gmail.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - lib/auth_easy.rb
34
+ - lib/auth_easy/controller_additions.rb
35
+ - lib/auth_easy/form_fields.rb
36
+ - lib/auth_easy/form_helpers.rb
37
+ - lib/auth_easy/registration_actions.rb
38
+ - lib/auth_easy/sessions_actions.rb
39
+ homepage: https://github.com/deatheragetr/auth-easy
40
+ licenses:
41
+ - MIT
42
+ metadata: {}
43
+ post_install_message:
44
+ rdoc_options: []
45
+ require_paths:
46
+ - lib
47
+ required_ruby_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ! '>='
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
52
+ required_rubygems_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ! '>'
55
+ - !ruby/object:Gem::Version
56
+ version: 1.3.1
57
+ requirements: []
58
+ rubyforge_project:
59
+ rubygems_version: 2.0.3
60
+ signing_key:
61
+ specification_version: 4
62
+ summary: Easy Authentication
63
+ test_files: []