minimalist_authentication 0.6.4 → 0.6.5

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -3,3 +3,4 @@ coverage
3
3
  .loadpath
4
4
  .project
5
5
  .redcar
6
+ *.gem
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'http://rubygems.org'
2
+ gemspec
@@ -1,3 +1,9 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ minimalist_authentication (0.6.4)
5
+ bcrypt-ruby (~> 3.1.1)
6
+
1
7
  GEM
2
8
  remote: http://rubygems.org/
3
9
  specs:
@@ -29,6 +35,7 @@ GEM
29
35
  activesupport (= 3.0.5)
30
36
  activesupport (3.0.5)
31
37
  arel (2.0.10)
38
+ bcrypt-ruby (3.1.1)
32
39
  builder (2.1.2)
33
40
  erubis (2.6.6)
34
41
  abstract (>= 1.0.0)
@@ -62,18 +69,17 @@ GEM
62
69
  thor (~> 0.14.4)
63
70
  rake (0.9.2.2)
64
71
  sqlite3 (1.3.5)
65
- sqlite3-ruby (1.3.3)
66
- sqlite3 (>= 1.3.3)
67
72
  thor (0.14.6)
68
73
  treetop (1.4.10)
69
74
  polyglot
70
75
  polyglot (>= 0.3.1)
71
- tzinfo (0.3.31)
76
+ tzinfo (0.3.32)
72
77
 
73
78
  PLATFORMS
74
79
  ruby
75
80
 
76
81
  DEPENDENCIES
77
82
  factory_girl
83
+ minimalist_authentication!
78
84
  rails (= 3.0.5)
79
- sqlite3-ruby
85
+ sqlite3
data/README.md ADDED
@@ -0,0 +1,55 @@
1
+ [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/wwidea/minimalist_authentication)
2
+
3
+ MinimalistAuthentication
4
+ ========================
5
+
6
+ A Rails authentication gem that takes a minimalist approach. It is designed to be simple to understand, use, and modify for your application.
7
+
8
+ This gem was largely inspired by the restful-authentication plugin (http://github.com/technoweenie/restful-authentication/tree/master). I selected the essential methods for password based authentication, reorganized them, trimmed them down when possible, added a couple of features, and resisted the urge to start adding more.
9
+
10
+
11
+ Installation
12
+ ============
13
+ 1) Add to your Gemfile:
14
+
15
+ gem 'minimalist_authentication'
16
+
17
+ 2) Create a user model:
18
+
19
+ ruby script/rails generate model user active:boolean email:string crypted_password:string salt:string using_digest_version:integer last_logged_in_at:datetime
20
+
21
+
22
+ Example
23
+ =======
24
+
25
+ 1) app/models/user.rb
26
+
27
+ class User < ActiveRecord::Base
28
+ include Minimalist::Authentication
29
+ end
30
+
31
+ 2) app/controllers/application.rb
32
+
33
+ class ApplicationController < ActionController::Base
34
+ include Minimalist::Authorization
35
+
36
+ # Lock down everything by default
37
+ # use skip_before_filter to open up sepecific actions
38
+ prepend_before_filter :authorization_required
39
+ end
40
+
41
+ 3) app/controllers/sessions_controller.rb
42
+
43
+ class SessionsController < ApplicationController
44
+ include Minimalist::Sessions
45
+ skip_before_filter :authorization_required, :only => [:new, :create]
46
+ end
47
+
48
+ 4) test/test_helper.rb
49
+
50
+ class Test::Unit::TestCase
51
+ include Minimalist::TestHelper
52
+ end
53
+
54
+
55
+ Copyright (c) 2009 Aaron Baldwin, released under the MIT license
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'rake'
2
2
  require 'rake/testtask'
3
- require 'rake/rdoctask'
3
+ require 'rdoc/task'
4
4
 
5
5
  desc 'Default: run unit tests.'
6
6
  task :default => :test
@@ -28,7 +28,7 @@ task :rcov do
28
28
  rcov = "rcov --rails --text-summary -Ilib --exclude /gems/,/app/,/Library/"
29
29
  system("#{rcov} --html #{Dir.glob('test/**/*_test.rb').join(' ')}")
30
30
  if PLATFORM['darwin'] #Mac
31
- system("open coverage/index.html")
31
+ system("open coverage/index.html")
32
32
  elsif PLATFORM[/linux/] #Ubuntu, etc.
33
33
  system("/etc/alternatives/x-www-browser coverage/index.html")
34
34
  end
@@ -15,21 +15,23 @@ module Minimalist
15
15
  base.extend(ClassMethods)
16
16
  base.class_eval do
17
17
  include InstanceMethods
18
-
18
+
19
19
  attr_accessor :password
20
20
  before_save :encrypt_password
21
-
21
+
22
22
  validates_presence_of :email, :if => :validate_email_presence?
23
23
  validates_uniqueness_of :email, :if => :validate_email_uniqueness?
24
24
  validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :if => :validate_email_format?
25
25
  validates_presence_of :password, :if => :password_required?
26
26
  validates_confirmation_of :password, :if => :password_required?
27
27
  validates_length_of :password, :within => 6..40, :if => :password_required?
28
-
28
+
29
29
  scope :active, :conditions => {:active => true}
30
+
31
+
30
32
  end
31
33
  end
32
-
34
+
33
35
  module ClassMethods
34
36
  def authenticate(email, password)
35
37
  return if email.blank? || password.blank?
@@ -37,7 +39,7 @@ module Minimalist
37
39
  return unless user && user.authenticated?(password)
38
40
  return user
39
41
  end
40
-
42
+
41
43
  def secure_digest(string, salt, version = 1)
42
44
  case version
43
45
  when 0 then Digest::MD5.hexdigest(string.to_s)
@@ -50,20 +52,20 @@ module Minimalist
50
52
  def make_token
51
53
  BCrypt::Engine.generate_salt(CALIBRATED_BCRYPT_COST)
52
54
  end
53
-
55
+
54
56
  def guest
55
57
  new.tap do |user|
56
58
  user.email = GUEST_USER_EMAIL
57
59
  end
58
60
  end
59
61
  end
60
-
62
+
61
63
  module InstanceMethods
62
-
64
+
63
65
  def active?
64
66
  active
65
67
  end
66
-
68
+
67
69
  def authenticated?(password)
68
70
  if crypted_password == encrypt(password)
69
71
  if self.respond_to?(:using_digest_version) and (using_digest_version != PREFERRED_DIGEST_VERSION or salt_cost < CALIBRATED_BCRYPT_COST)
@@ -77,38 +79,38 @@ module Minimalist
77
79
  return false
78
80
  end
79
81
  end
80
-
82
+
81
83
  def logged_in
82
84
  self.class.update_all("last_logged_in_at='#{Time.now.to_s(:db)}'", "id=#{self.id}") # use update_all to avoid updated_on trigger
83
85
  end
84
-
86
+
85
87
  def is_guest?
86
88
  email == GUEST_USER_EMAIL
87
89
  end
88
-
90
+
89
91
  #######
90
92
  private
91
93
  #######
92
-
94
+
93
95
  def password_required?
94
96
  active? && (crypted_password.blank? || !password.blank?)
95
97
  end
96
-
98
+
97
99
  def encrypt(password)
98
100
  self.class.secure_digest(password, salt, digest_version)
99
101
  end
100
-
102
+
101
103
  def encrypt_password
102
104
  return if password.blank?
103
105
  self.salt = self.class.make_token
104
106
  self.crypted_password = self.class.secure_digest(password, salt, (self.respond_to?(:using_digest_version) ? PREFERRED_DIGEST_VERSION : 1))
105
107
  self.using_digest_version = PREFERRED_DIGEST_VERSION if self.respond_to?(:using_digest_version)
106
108
  end
107
-
109
+
108
110
  def digest_version
109
111
  self.respond_to?(:using_digest_version) ? (using_digest_version || 1) : 1
110
112
  end
111
-
113
+
112
114
  def salt_cost
113
115
  BCrypt::Engine.valid_salt?(salt) ? salt.match(/\$[^\$]+\$([0-9]+)\$/)[1].to_i : 0
114
116
  end
@@ -118,15 +120,15 @@ module Minimalist
118
120
  # allows applications to turn off email validation
119
121
  true
120
122
  end
121
-
123
+
122
124
  def validate_email_presence?
123
125
  validate_email? && active?
124
126
  end
125
-
127
+
126
128
  def validate_email_format?
127
129
  validate_email? && active?
128
130
  end
129
-
131
+
130
132
  def validate_email_uniqueness?
131
133
  validate_email? && active?
132
134
  end
@@ -1,3 +1,3 @@
1
1
  module MinimalistAuthentication
2
- VERSION = '0.6.4'
2
+ VERSION = '0.6.5'
3
3
  end
@@ -9,8 +9,12 @@ Gem::Specification.new do |s|
9
9
  s.homepage = "https://github.com/wwidea/minimalist_authentication"
10
10
  s.summary = %q{A Rails authentication plugin that takes a minimalist approach.}
11
11
  s.description = %q{A Rails authentication plugin that takes a minimalist approach. It is designed to be simple to understand, use, and modify for your application.}
12
-
13
- s.add_dependency('bcrypt-ruby', '~> 3.0.1')
12
+
13
+ s.add_dependency('bcrypt-ruby', '~> 3.1.1')
14
+
15
+ s.add_development_dependency('rails','3.0.5')
16
+ s.add_development_dependency('sqlite3')
17
+ s.add_development_dependency('factory_girl')
14
18
 
15
19
  s.files = `git ls-files`.split("\n")
16
20
  s.test_files = `git ls-files -- test/*`.split("\n")
@@ -1,44 +1,48 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class AuthenticationTest < ActiveSupport::TestCase
4
-
4
+
5
5
  test "should not be able to set crypted_password through mass assignment" do
6
6
  user = Factory(:user)
7
7
  old_crypted_password = user.crypted_password
8
+ old_digest_version = user.using_digest_version
9
+ old_salt = user.salt
8
10
  user.update_attributes(:crypted_password => 'should not work')
11
+ assert_equal(old_digest_version, user.using_digest_version)
12
+ assert_equal(old_salt, user.salt)
9
13
  assert_equal(old_crypted_password, user.crypted_password)
10
14
  end
11
-
15
+
12
16
  test "should return active user" do
13
17
  user = Factory(:user)
14
18
  assert_equal([user], User.active)
15
19
  end
16
-
20
+
17
21
  test "should authenticate user" do
18
22
  user = Factory(:user)
19
23
  assert_equal(user, User.authenticate(user.email, 'password'))
20
24
  end
21
-
25
+
22
26
  test "should fail to authenticate when email is blank" do
23
27
  user = Factory(:user)
24
28
  assert_nil(User.authenticate('', 'password'))
25
29
  end
26
-
30
+
27
31
  test "should fail to authenticate when password is blank" do
28
32
  user = Factory(:user)
29
33
  assert_nil(User.authenticate(user.email, ''))
30
- end
31
-
34
+ end
35
+
32
36
  test "should fail to authenticate when user is not active" do
33
37
  user = Factory(:user, :active => false)
34
38
  assert_nil(User.authenticate(user.email, 'password'))
35
39
  end
36
-
40
+
37
41
  test "should fail to authenticate for incorrect password" do
38
42
  user = Factory(:user)
39
43
  assert_nil(User.authenticate(user.email, 'incorrect_password'))
40
44
  end
41
-
45
+
42
46
  test "should create salt and encrypted_password for new user" do
43
47
  user = User.new(:email => 'test@testing.com', :password => 'testing')
44
48
  assert(user.save)
@@ -46,38 +50,38 @@ class AuthenticationTest < ActiveSupport::TestCase
46
50
  assert_not_nil(user.crypted_password)
47
51
  assert(user.authenticated?('testing'))
48
52
  end
49
-
53
+
50
54
  test "should update last_logged_in_at without updating updated_at timestamp" do
51
55
  user = Factory(:user, :updated_at => 1.day.ago)
52
56
  updated_at = user.updated_at
53
57
  user.logged_in
54
58
  assert(user.updated_at == updated_at)
55
59
  end
56
-
60
+
57
61
  test "guest should be guest" do
58
62
  assert(User.guest.is_guest?)
59
63
  end
60
-
64
+
61
65
  test "should allow inactive user to pass validation without an email or password" do
62
66
  assert(User.new.valid?)
63
67
  end
64
-
68
+
65
69
  test "should fail validation for active user without email" do
66
70
  user = User.new(:active => true)
67
71
  assert_equal(false, user.valid?)
68
72
  assert(user.errors[:email])
69
73
  end
70
-
74
+
71
75
  test "should fail validation for active user without password" do
72
76
  user = User.new(:active => true)
73
77
  assert_equal(false, user.valid?)
74
78
  assert(user.errors[:password])
75
79
  end
76
-
80
+
77
81
  test "should use latest digest version for new users" do
78
82
  assert_equal(User::PREFERRED_DIGEST_VERSION,Factory(:user).using_digest_version)
79
83
  end
80
-
84
+
81
85
  test "should migrate legacy users to new digest version" do
82
86
  #Setup a user using the old digest version.
83
87
  #This wouldn't be necessary with fixtures.
@@ -89,11 +93,11 @@ class AuthenticationTest < ActiveSupport::TestCase
89
93
  assert(legacy_user.save)
90
94
  assert_equal(nil, legacy_user.reload.using_digest_version)
91
95
  assert_equal('86f156baf9e4868e6dcf910b65775efdeaa347d8',legacy_user.crypted_password)
92
-
96
+
93
97
  # Ok, now we can finally do the test.
94
98
  legacy_crypted_password = legacy_user.crypted_password
95
99
  assert(legacy_user.authenticated?('my_password'))
96
- assert_equal(2,legacy_user.reload.using_digest_version)
100
+ assert_equal(Minimalist::Authentication::PREFERRED_DIGEST_VERSION,legacy_user.reload.using_digest_version)
97
101
  assert_not_equal(legacy_crypted_password,legacy_user.crypted_password)
98
102
  end
99
103
  end
@@ -3,73 +3,73 @@ require 'test_helper'
3
3
  class AuthorizationTest < ActiveSupport::TestCase
4
4
  def AuthorizationTest.helper_method(*args); end
5
5
  include Minimalist::Authorization
6
-
6
+
7
7
  test "should return guest for current_user" do
8
8
  assert_equal('guest', current_user.email)
9
9
  end
10
-
10
+
11
11
  test "should return logged_in user for current_user" do
12
12
  user = Factory(:user)
13
13
  session[:user_id] = user.id
14
14
  assert_equal(user, current_user)
15
15
  end
16
-
16
+
17
17
  test "should pass authorization" do
18
18
  user = Factory(:user)
19
19
  session[:user_id] = user.id
20
20
  assert(authorization_required)
21
21
  end
22
-
22
+
23
23
  test "should fail authorization" do
24
24
  assert_equal(new_session_path, authorization_required)
25
25
  end
26
-
26
+
27
27
  test "should store location" do
28
28
  store_location
29
- assert_equal(request.request_uri, session[:return_to])
29
+ assert_equal(request.fullpath, session['return_to'])
30
30
  end
31
-
31
+
32
32
  test "should redirect to stored location" do
33
33
  store_location
34
34
  redirect_back_or_default('/')
35
- assert_equal(request.request_uri, redirect_to)
35
+ assert_equal(request.fullpath, redirect_to)
36
36
  end
37
-
37
+
38
38
  test "should redirect to stored location only once" do
39
39
  store_location
40
40
  redirect_back_or_default('/')
41
- assert_equal(request.request_uri, redirect_to)
41
+ assert_equal(request.fullpath, redirect_to)
42
42
  redirect_back_or_default('/')
43
43
  assert_equal('/', redirect_to)
44
44
  end
45
-
45
+
46
46
  test "should redirect to default" do
47
47
  redirect_back_or_default('/')
48
48
  assert_equal('/', redirect_to)
49
49
  end
50
-
50
+
51
51
  #######
52
52
  private
53
53
  #######
54
-
54
+
55
55
  def redirect_to(path = nil)
56
56
  @redirect_to = path if path
57
57
  return @redirect_to
58
58
  end
59
-
59
+
60
60
  def session; @session ||= Hash.new; end
61
-
61
+
62
62
  def action_name; nil; end
63
63
  def controller_name; nil; end
64
64
  def new_session_path; '/session/new'; end
65
-
65
+
66
66
  def request
67
67
  (Class.new do
68
68
  def method
69
69
  :get
70
70
  end
71
-
72
- def request_uri
71
+
72
+ def fullpath
73
73
  'http://www.example.com'
74
74
  end
75
75
  end).new
data/test/factories.rb CHANGED
@@ -1,8 +1,10 @@
1
1
  module Factories
2
+ salt = User.make_token
2
3
  Factory.define :user do |u|
3
4
  u.active true
4
5
  u.email 'test@testing.com'
5
- u.password 'password'
6
- u.password_confirmation 'password'
6
+ u.salt salt
7
+ u.crypted_password User.secure_digest('password',salt,Minimalist::Authentication::PREFERRED_DIGEST_VERSION)
8
+ u.using_digest_version Minimalist::Authentication::PREFERRED_DIGEST_VERSION
7
9
  end
8
10
  end
data/test/jenkins.bash ADDED
@@ -0,0 +1,9 @@
1
+ #!/bin/bash
2
+ bundle install
3
+
4
+ cd test/rails_root
5
+ bundle exec rake db:setup
6
+ bundle exec rake db:test:prepare
7
+
8
+ cd ../../
9
+ bundle exec rake test
@@ -1,3 +1,4 @@
1
1
  class User < ActiveRecord::Base
2
2
  include Minimalist::Authentication
3
+ attr_protected :crypted_password, :salt, :using_digest_version
3
4
  end
@@ -2,8 +2,8 @@ require 'test_helper'
2
2
  require 'rails/performance_test_help'
3
3
 
4
4
  # Profiling results for each test method are written to tmp/performance.
5
- class BrowsingTest < ActionDispatch::PerformanceTest
6
- def test_homepage
7
- get '/'
8
- end
9
- end
5
+ #class BrowsingTest < ActionDispatch::PerformanceTest
6
+ # def test_homepage
7
+ # get '/'
8
+ # end
9
+ #end
data/test/test_helper.rb CHANGED
@@ -1,4 +1,5 @@
1
- require File.dirname(__FILE__) + '/../init'
1
+ require 'minimalist_authentication'
2
+ require 'factory_girl'
2
3
 
3
4
  ENV["RAILS_ENV"] = "test"
4
5
  require File.expand_path('../rails_root/config/environment', __FILE__)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minimalist_authentication
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.4
4
+ version: 0.6.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-09-17 00:00:00.000000000 Z
14
+ date: 2013-07-10 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bcrypt-ruby
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - ~>
22
22
  - !ruby/object:Gem::Version
23
- version: 3.0.1
23
+ version: 3.1.1
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,7 +28,55 @@ dependencies:
28
28
  requirements:
29
29
  - - ~>
30
30
  - !ruby/object:Gem::Version
31
- version: 3.0.1
31
+ version: 3.1.1
32
+ - !ruby/object:Gem::Dependency
33
+ name: rails
34
+ requirement: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - '='
38
+ - !ruby/object:Gem::Version
39
+ version: 3.0.5
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 3.0.5
48
+ - !ruby/object:Gem::Dependency
49
+ name: sqlite3
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ - !ruby/object:Gem::Dependency
65
+ name: factory_girl
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ! '>='
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ type: :development
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
32
80
  description: A Rails authentication plugin that takes a minimalist approach. It is
33
81
  designed to be simple to understand, use, and modify for your application.
34
82
  email:
@@ -38,10 +86,11 @@ extensions: []
38
86
  extra_rdoc_files: []
39
87
  files:
40
88
  - .gitignore
89
+ - Gemfile
90
+ - Gemfile.lock
41
91
  - MIT-LICENSE
42
- - README
92
+ - README.md
43
93
  - Rakefile
44
- - init.rb
45
94
  - lib/app/views/sessions/_form.html.erb
46
95
  - lib/app/views/sessions/new.html.erb
47
96
  - lib/minimalist/authentication.rb
@@ -56,8 +105,7 @@ files:
56
105
  - test/authentication_test.rb
57
106
  - test/authorization_test.rb
58
107
  - test/factories.rb
59
- - test/rails_root/Gemfile
60
- - test/rails_root/Gemfile.lock
108
+ - test/jenkins.bash
61
109
  - test/rails_root/README
62
110
  - test/rails_root/Rakefile
63
111
  - test/rails_root/app/controllers/application_controller.rb
@@ -120,8 +168,7 @@ test_files:
120
168
  - test/authentication_test.rb
121
169
  - test/authorization_test.rb
122
170
  - test/factories.rb
123
- - test/rails_root/Gemfile
124
- - test/rails_root/Gemfile.lock
171
+ - test/jenkins.bash
125
172
  - test/rails_root/README
126
173
  - test/rails_root/Rakefile
127
174
  - test/rails_root/app/controllers/application_controller.rb
@@ -156,3 +203,4 @@ test_files:
156
203
  - test/rails_root/test/test_helper.rb
157
204
  - test/sessions_test.rb
158
205
  - test/test_helper.rb
206
+ has_rdoc:
data/README DELETED
@@ -1,45 +0,0 @@
1
- MinimalistAuthentication
2
- ========================
3
-
4
- A Rails authentication plugin that takes a minimalist approach. It is designed to be simple to understand, use, and modify for your application.
5
-
6
- This plugin was largely inspired by the restful-authentication plugin (http://github.com/technoweenie/restful-authentication/tree/master). I selected the essential methods for password based authentication, reorganized them, trimmed them down when possible, added a couple of features, and resisted the urge to start adding more.
7
-
8
-
9
- Installation
10
- ============
11
- script/plugin install git://github.com/aaron/minimalist_authentication.git
12
-
13
- ruby script/generate scaffold user active:boolean email:string crypted_password:string salt:string using_digest_version:integer last_logged_in_at:datetime
14
-
15
-
16
- Example
17
- =======
18
-
19
- app/models/user.rb
20
- class User < ActiveRecord::Base
21
- include Minimalist::Authentication
22
- end
23
-
24
- app/controllers/application.rb
25
- class ApplicationController < ActionController::Base
26
- include Minimalist::Authorization
27
-
28
- # Lock down everything by default
29
- # use skip_before_filter to open up sepecific actions
30
- prepend_before_filter :authorization_required
31
- end
32
-
33
- app/controllers/sessions_controller.rb
34
- class SessionsController < ApplicationController
35
- include Minimalist::Sessions
36
- skip_before_filter :authorization_required, :only => [:new, :create]
37
- end
38
-
39
- test/test_helper.rb
40
- class Test::Unit::TestCase
41
- include Minimalist::TestHelper
42
- end
43
-
44
-
45
- Copyright (c) 2009 Aaron Baldwin, released under the MIT license
data/init.rb DELETED
@@ -1,2 +0,0 @@
1
- # Include hook code here
2
- require 'minimalist_authentication'
@@ -1,33 +0,0 @@
1
- source 'http://rubygems.org'
2
-
3
- gem 'rails', '3.0.5'
4
-
5
- # Bundle edge Rails instead:
6
- # gem 'rails', :git => 'git://github.com/rails/rails.git'
7
-
8
- gem 'sqlite3-ruby', :require => 'sqlite3'
9
-
10
- # Use unicorn as the web server
11
- # gem 'unicorn'
12
-
13
- # Deploy with Capistrano
14
- # gem 'capistrano'
15
-
16
- # To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
17
- # gem 'ruby-debug'
18
- # gem 'ruby-debug19'
19
-
20
- # Bundle the extra gems:
21
- # gem 'bj'
22
- # gem 'nokogiri'
23
- # gem 'sqlite3-ruby', :require => 'sqlite3'
24
- # gem 'aws-s3', :require => 'aws/s3'
25
-
26
- gem 'factory_girl'
27
-
28
- # Bundle gems for the local environment. Make sure to
29
- # put test-only gems in this group so their generators
30
- # and rake tasks are available in development mode:
31
- # group :development, :test do
32
- # gem 'webrat'
33
- # end