thoughtbot-clearance 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.textile CHANGED
@@ -6,14 +6,14 @@ Simple, complete Ruby web app authentication.
6
6
 
7
7
  h2. Gem installation (Rails 2.1+)
8
8
 
9
- Specify the gem dependency in your config/environment.rb file:
9
+ In config/environments/test.rb:
10
10
 
11
- Rails::Initializer.run do |config|
12
- # ...
13
- config.gem 'thoughtbot-shoulda', :lib => 'shoulda', :source => "http://gems.github.com"
14
- config.gem 'thoughtbot-factory_girl', :lib => 'factory_girl', :source => "http://gems.github.com"
15
- config.gem "thoughtbot-clearance", :lib => 'clearance', :source => 'http://gems.github.com/'
16
- end
11
+ config.gem 'thoughtbot-shoulda', :lib => 'shoulda', :source => "http://gems.github.com"
12
+ config.gem 'thoughtbot-factory_girl', :lib => 'factory_girl', :source => "http://gems.github.com"
13
+
14
+ In config/environment.rb:
15
+
16
+ config.gem "thoughtbot-clearance", :lib => 'clearance', :source => 'http://gems.github.com/'
17
17
 
18
18
  Then:
19
19
 
@@ -101,6 +101,9 @@ Your users table needs a few columns.
101
101
  end
102
102
 
103
103
  add_index :users, [:email, :crypted_password]
104
+ add_index :users, [:id, :salt]
105
+ add_index :users, :email
106
+ add_index :users, :remember_token
104
107
 
105
108
  h2. Routes
106
109
 
data/Rakefile CHANGED
@@ -1,35 +1,27 @@
1
1
  require 'rake'
2
2
  require 'rake/testtask'
3
3
  require 'date'
4
-
4
+
5
5
  test_files_pattern = 'test/rails_root/test/{unit,functional,other}/**/*_test.rb'
6
6
  Rake::TestTask.new do |t|
7
7
  t.libs << 'lib'
8
8
  t.pattern = test_files_pattern
9
9
  t.verbose = false
10
10
  end
11
-
11
+
12
12
  desc "Run the test suite"
13
13
  task :default => :test
14
-
14
+
15
15
  spec = Gem::Specification.new do |s|
16
16
  s.name = "clearance"
17
17
  s.summary = "Simple, complete Rails authentication."
18
18
  s.email = "dcroak@thoughtbot.com"
19
19
  s.homepage = "http://github.com/thoughtbot/clearance"
20
20
  s.description = "Simple, complete Rails authentication scheme."
21
- s.authors = ["thoughtbot, inc.", "Dan Croak", "Josh Nichols", "Jason Morrison", "Mike Burns", "Mike Breen"]
21
+ s.authors = ["thoughtbot, inc.", "Josh Nichols", "Mike Breen"]
22
22
  s.files = FileList["[A-Z]*", "{generators,lib,test}/**/*"]
23
23
  end
24
-
25
- begin
26
- require 'rubygems'
27
- require 'jeweler'
28
- Jeweler.gemspec = spec
29
- rescue LoadError
30
- puts "Jeweler not available. sudo gem install technicalpickles-jeweler --source=http://gems.github.com"
31
- end
32
-
24
+
33
25
  namespace :generator do
34
26
  task :templates do
35
27
  app_files = FileList["test/rails_root/app/{controllers,models,views}/**/*"]
@@ -55,4 +47,4 @@ namespace :generator do
55
47
  end
56
48
  end
57
49
  end
58
- end
50
+ end
@@ -66,4 +66,4 @@ class ClearanceGenerator < Rails::Generator::Base
66
66
  end
67
67
  end
68
68
 
69
- end
69
+ end
@@ -62,7 +62,7 @@ module Clearance
62
62
  end
63
63
 
64
64
  def deny_access(flash_message = nil, opts = {})
65
- opts[:redirect] ||= new_session_url
65
+ opts[:redirect] ||= root_url
66
66
  store_location
67
67
  flash[:error] = flash_message if flash_message
68
68
  redirect_to opts[:redirect]
@@ -10,7 +10,7 @@ module Clearance
10
10
  context "with the User with the given id's salt" do
11
11
  setup do
12
12
  @user = Factory :user
13
- get :new, :user_id => @user.id, :salt => @user.salt
13
+ get :new, :user_id => @user.to_param, :salt => @user.salt
14
14
  end
15
15
 
16
16
  should 'find the User record with the given id and salt' do
@@ -27,7 +27,7 @@ module Clearance
27
27
  salt = ''
28
28
  assert_not_equal salt, user.salt
29
29
 
30
- get :new, :user_id => user.id, :salt => ''
30
+ get :new, :user_id => user.to_param, :salt => ''
31
31
  end
32
32
 
33
33
  should_respond_with :not_found
@@ -12,7 +12,7 @@ module Clearance
12
12
  setup { @user = Factory :user }
13
13
 
14
14
  context 'A GET to #new' do
15
- setup { get :new, :user_id => @user_id }
15
+ setup { get :new, :user_id => @user.to_param }
16
16
 
17
17
  should_respond_with :success
18
18
  should_render_template 'new'
@@ -59,7 +59,7 @@ module Clearance
59
59
  context "with an existing user's id and password" do
60
60
  setup do
61
61
  get :edit,
62
- :user_id => @user.id,
62
+ :user_id => @user.to_param,
63
63
  :password => @user.crypted_password,
64
64
  :email => @user.email
65
65
  end
@@ -86,7 +86,7 @@ module Clearance
86
86
 
87
87
  context "with an existing user's id but not password" do
88
88
  setup do
89
- get :edit, :user_id => @user.id, :password => ''
89
+ get :edit, :user_id => @user.to_param, :password => ''
90
90
  end
91
91
 
92
92
  should_respond_with :not_found
@@ -100,7 +100,7 @@ module Clearance
100
100
  context 'A PUT to #update' do
101
101
  context "with an existing user's id but not password" do
102
102
  setup do
103
- put :update, :user_id => @user.id, :password => ''
103
+ put :update, :user_id => @user.to_param, :password => ''
104
104
  end
105
105
 
106
106
  should "not update the user's password" do
@@ -154,7 +154,7 @@ module Clearance
154
154
  @encrypted_new_password = Digest::SHA1.hexdigest encryption_format
155
155
 
156
156
  put(:update,
157
- :user_id => @user.id,
157
+ :user_id => @user.to_param,
158
158
  :password => @user.crypted_password,
159
159
  :user => {
160
160
  :password => new_password,
@@ -1,7 +1,7 @@
1
- module Clearance
2
- module Version
3
- MAJOR = 0
4
- MINOR = 3
5
- PATCH = 2
1
+ module Clearance
2
+ module Version
3
+ MAJOR = 0
4
+ MINOR = 3
5
+ PATCH = 3
6
+ end
6
7
  end
7
- end
@@ -7,21 +7,15 @@ ActiveRecord::Migration.verbose = false
7
7
  ActiveRecord::Migrator.migrate("#{RAILS_ROOT}/db/migrate")
8
8
 
9
9
  gem 'mocha'
10
- gem 'thoughtbot-quietbacktrace'
11
10
  gem 'thoughtbot-factory_girl' # from github
12
11
 
13
12
  require 'mocha'
14
- require 'quietbacktrace'
15
13
  require 'factory_girl'
14
+ require File.expand_path(File.dirname(__FILE__)) + '/factories'
16
15
 
17
16
  class Test::Unit::TestCase
18
-
19
17
  self.use_transactional_fixtures = true
20
18
  self.use_instantiated_fixtures = false
21
-
22
- self.backtrace_silencers << :rails_vendor
23
- self.backtrace_filters << :rails_root
24
-
19
+
25
20
  include Clearance::Test::TestHelper
26
-
27
21
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thoughtbot-clearance
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - thoughtbot, inc.
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2008-10-14 00:00:00 -07:00
17
+ date: 2008-10-16 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies: []
20
20
 
@@ -142,8 +142,10 @@ files:
142
142
  - test/rails_root/config/routes.rb
143
143
  - test/rails_root/db
144
144
  - test/rails_root/db/bootstrap
145
+ - test/rails_root/db/development.sqlite3
145
146
  - test/rails_root/db/migrate
146
147
  - test/rails_root/db/migrate/001_create_users.rb
148
+ - test/rails_root/db/schema.rb
147
149
  - test/rails_root/db/test.sqlite3
148
150
  - test/rails_root/doc
149
151
  - test/rails_root/doc/README_FOR_APP
@@ -198,6 +200,8 @@ files:
198
200
  - test/rails_root/script/server
199
201
  - test/rails_root/test
200
202
  - test/rails_root/test/factories.rb
203
+ - test/rails_root/test/fixtures
204
+ - test/rails_root/test/fixtures/mailer
201
205
  - test/rails_root/test/functional
202
206
  - test/rails_root/test/functional/confirmations_controller_test.rb
203
207
  - test/rails_root/test/functional/passwords_controller_test.rb
@@ -211,6 +215,11 @@ files:
211
215
  - test/rails_root/test/unit
212
216
  - test/rails_root/test/unit/user_mailer_test.rb
213
217
  - test/rails_root/test/unit/user_test.rb
218
+ - test/rails_root/tmp
219
+ - test/rails_root/tmp/cache
220
+ - test/rails_root/tmp/pids
221
+ - test/rails_root/tmp/sessions
222
+ - test/rails_root/tmp/sockets
214
223
  - test/rails_root/vendor
215
224
  - test/rails_root/vendor/gems
216
225
  - test/rails_root/vendor/gems/mocha-0.9.1
@@ -1,20 +0,0 @@
1
- Copyright (c) 2008 [name of plugin creator]
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,34 +0,0 @@
1
- factory_girl_on_rails
2
- =====================
3
-
4
- factory_girl_on_rails provides some minor creature comforts for using factory_girl on a Rails project:
5
-
6
- * Automatically load factories in RAILS_ROOT/test/factories
7
- * A generator for putting new factories in RAILS_ROOT/test/factories
8
-
9
-
10
- Installing
11
- ==========
12
-
13
- script/plugin install git://github.com/technicalpickles/factory_girl_on_rails.git
14
-
15
- Example
16
- =======
17
-
18
- After installing this plugin, you just start using factories in RAILS_ROOT/test/factories.
19
-
20
- As a convenience, a factory generator is provided:
21
-
22
- `./script/generate factory account`
23
-
24
- creates an Account factory: test/factories/account_factory.rb
25
-
26
- `./script/generate factory post title:string body:text published:boolean`
27
-
28
- creates a Post factory with a string title, text body, and published flag.
29
-
30
-
31
- Copyright
32
- =========
33
-
34
- Copyright (c) 2008 Josh Nichols, released under the MIT license
@@ -1,9 +0,0 @@
1
- require 'factory_girl'
2
-
3
- %w(test spec).each do |dir|
4
- factories = File.join(RAILS_ROOT, dir, 'factories.rb')
5
- require factories if File.exists?(factories)
6
- Dir[File.join(RAILS_ROOT, dir, 'factories', '*.rb')].each do |file|
7
- require file
8
- end
9
- end
@@ -1,18 +0,0 @@
1
- Description:
2
- Stubs out a new factory. Pass the factory name name, under_scored,
3
- and an optional list of attribute pairs as arguments.
4
-
5
- Attribute pairs are column_name:sql_type arguments specifying the
6
- model's attributes. Timestamps are added by default, so you don't have to
7
- specify them by hand as 'created_at:datetime updated_at:datetime'.
8
-
9
- This generates a file in test/factories.
10
-
11
- Examples:
12
- `./script/generate factory account`
13
-
14
- creates an Account factory: test/factories/account_factory.rb
15
-
16
- `./script/generate factory post title:string body:text published:boolean`
17
-
18
- creates a Post factory with a string title, text body, and published flag.
@@ -1,17 +0,0 @@
1
- class FactoryGenerator < Rails::Generator::NamedBase
2
- def manifest
3
- record do |m|
4
- m.directory File.join('test/factories', class_path)
5
- m.template 'factory.rb', File.join('test/factories', class_path, "#{file_name}_factory.rb")
6
- end
7
- end
8
-
9
- def factory_line(attribute)
10
- "#{file_name}.#{attribute.name} '#{attribute.default}'"
11
- end
12
-
13
- protected
14
- def banner
15
- "Usage: #{$0} #{spec.name} FactoryName [field:type, field:type]"
16
- end
17
- end
@@ -1,5 +0,0 @@
1
- Factory.define :<%= file_name %> do |<%= file_name %>|
2
- <% for attribute in attributes -%>
3
- <%= factory_line(attribute) %>
4
- <% end -%>
5
- end
@@ -1,19 +0,0 @@
1
- # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
-
3
- <% unless attributes.empty? -%>
4
- one:
5
- <% for attribute in attributes -%>
6
- <%= attribute.name %>: <%= attribute.default %>
7
- <% end -%>
8
-
9
- two:
10
- <% for attribute in attributes -%>
11
- <%= attribute.name %>: <%= attribute.default %>
12
- <% end -%>
13
- <% else -%>
14
- # one:
15
- # column: value
16
- #
17
- # two:
18
- # column: value
19
- <% end -%>
@@ -1,16 +0,0 @@
1
- class <%= migration_name %> < ActiveRecord::Migration
2
- def self.up
3
- create_table :<%= table_name %> do |t|
4
- <% for attribute in attributes -%>
5
- t.<%= attribute.type %> :<%= attribute.name %>
6
- <% end -%>
7
- <% unless options[:skip_timestamps] %>
8
- t.timestamps
9
- <% end -%>
10
- end
11
- end
12
-
13
- def self.down
14
- drop_table :<%= table_name %>
15
- end
16
- end
@@ -1,2 +0,0 @@
1
- class <%= class_name %> < ActiveRecord::Base
2
- end
@@ -1,7 +0,0 @@
1
- require File.dirname(__FILE__) + '/../test_helper'
2
-
3
- class <%= class_name %>Test < ActiveSupport::TestCase
4
- <% for attribute in attributes -%>
5
- should_have_db_column :<%= attribute.name %>
6
- <% end -%>
7
- end