diff --git a/CHANGELOG.rdoc b/CHANGELOG.rdoc index 3845b70904..f0a7911ee8 100644 --- a/CHANGELOG.rdoc +++ b/CHANGELOG.rdoc @@ -1,3 +1,6 @@ +* deprecation + * devise :all is deprecated + * enhancements * Added devise lockable (by github/mhfs) diff --git a/README.rdoc b/README.rdoc index 8826086b35..bbfdbeb25a 100644 --- a/README.rdoc +++ b/README.rdoc @@ -160,7 +160,7 @@ The devise method in your models also accept some options to configure its modul devise :authenticatable, :confirmable, :recoverable, :encryptor => :bcrypt -Besides :encryptor, you can provide :pepper, :stretches, :confirm_within, :remember_for, :timeout, :unlock_in and others. All those are describer in the initializer created when you invoke the devise_install generator describer above. +Besides :encryptor, you can provide :pepper, :stretches, :confirm_within, :remember_for, :timeout_in, :unlock_in and others. All those are describer in the initializer created when you invoke the devise_install generator describer above. == Views diff --git a/test/models_test.rb b/test/models_test.rb index b4835bfc65..10f2929576 100644 --- a/test/models_test.rb +++ b/test/models_test.rb @@ -1,51 +1,9 @@ require 'test/test_helper' -class Authenticatable < User - devise :authenticatable -end - -class Confirmable < User - devise :authenticatable, :confirmable -end - -class Recoverable < User - devise :authenticatable, :recoverable -end - -class Rememberable < User - devise :authenticatable, :rememberable -end - -class Trackable < User - devise :authenticatable, :trackable -end - -class Timeoutable < User - devise :authenticatable, :timeoutable -end - -class Lockable < User - devise :authenticatable, :lockable -end - -class IsValidatable < User - devise :authenticatable, :validatable -end - -class Devisable < User - devise :all -end - -class Exceptable < User - devise :all, :except => [:recoverable, :rememberable, :validatable, :lockable] -end - class Configurable < User - devise :all, :timeoutable, :stretches => 15, - :pepper => 'abcdef', - :confirm_within => 5.days, - :remember_for => 7.days, - :timeout_in => 15.minutes + devise :authenticatable, :confirmable, :rememberable, :timeoutable, :lockable, + :stretches => 15, :pepper => 'abcdef', :confirm_within => 5.days, + :remember_for => 7.days, :timeout_in => 15.minutes, :unlock_in => 10.days end class ActiveRecordTest < ActiveSupport::TestCase @@ -64,45 +22,8 @@ def assert_include_modules(klass, *modules) end end - test 'add authenticatable module only' do - assert_include_modules Authenticatable, :authenticatable - end - - test 'add confirmable module only' do - assert_include_modules Confirmable, :authenticatable, :confirmable - end - - test 'add recoverable module only' do - assert_include_modules Recoverable, :authenticatable, :recoverable - end - - test 'add rememberable module only' do - assert_include_modules Rememberable, :authenticatable, :rememberable - end - - test 'add trackable module only' do - assert_include_modules Trackable, :authenticatable, :trackable - end - - test 'add timeoutable module only' do - assert_include_modules Timeoutable, :authenticatable, :timeoutable - end - - test 'add lockable module only' do - assert_include_modules Lockable, :authenticatable, :lockable - end - - test 'add validatable module only' do - assert_include_modules IsValidatable, :authenticatable, :validatable - end - - test 'add all modules' do - assert_include_modules Devisable, - :authenticatable, :confirmable, :recoverable, :rememberable, :trackable, :validatable - end - - test 'configure modules with except option' do - assert_include_modules Exceptable, :authenticatable, :confirmable, :trackable + test 'add modules cherry pick' do + assert_include_modules Admin, :authenticatable, :timeoutable end test 'set a default value for stretches' do @@ -125,6 +46,10 @@ def assert_include_modules(klass, *modules) assert_equal 15.minutes, Configurable.timeout_in end + test 'set a default value for unlock_in' do + assert_equal 10.days, Configurable.unlock_in + end + test 'set null fields on migrations' do Admin.create! end diff --git a/test/rails_app/README b/test/rails_app/README deleted file mode 100644 index 37ec8ea211..0000000000 --- a/test/rails_app/README +++ /dev/null @@ -1,243 +0,0 @@ -== Welcome to Rails - -Rails is a web-application framework that includes everything needed to create -database-backed web applications according to the Model-View-Control pattern. - -This pattern splits the view (also called the presentation) into "dumb" templates -that are primarily responsible for inserting pre-built data in between HTML tags. -The model contains the "smart" domain objects (such as Account, Product, Person, -Post) that holds all the business logic and knows how to persist themselves to -a database. The controller handles the incoming requests (such as Save New Account, -Update Product, Show Post) by manipulating the model and directing data to the view. - -In Rails, the model is handled by what's called an object-relational mapping -layer entitled Active Record. This layer allows you to present the data from -database rows as objects and embellish these data objects with business logic -methods. You can read more about Active Record in -link:files/vendor/rails/activerecord/README.html. - -The controller and view are handled by the Action Pack, which handles both -layers by its two parts: Action View and Action Controller. These two layers -are bundled in a single package due to their heavy interdependence. This is -unlike the relationship between the Active Record and Action Pack that is much -more separate. Each of these packages can be used independently outside of -Rails. You can read more about Action Pack in -link:files/vendor/rails/actionpack/README.html. - - -== Getting Started - -1. At the command prompt, start a new Rails application using the rails command - and your application name. Ex: rails myapp -2. Change directory into myapp and start the web server: script/server (run with --help for options) -3. Go to http://localhost:3000/ and get "Welcome aboard: You're riding the Rails!" -4. Follow the guidelines to start developing your application - - -== Web Servers - -By default, Rails will try to use Mongrel if it's are installed when started with script/server, otherwise Rails will use WEBrick, the webserver that ships with Ruby. But you can also use Rails -with a variety of other web servers. - -Mongrel is a Ruby-based webserver with a C component (which requires compilation) that is -suitable for development and deployment of Rails applications. If you have Ruby Gems installed, -getting up and running with mongrel is as easy as: gem install mongrel. -More info at: http://mongrel.rubyforge.org - -Say other Ruby web servers like Thin and Ebb or regular web servers like Apache or LiteSpeed or -Lighttpd or IIS. The Ruby web servers are run through Rack and the latter can either be setup to use -FCGI or proxy to a pack of Mongrels/Thin/Ebb servers. - -== Apache .htaccess example for FCGI/CGI - -# General Apache options -AddHandler fastcgi-script .fcgi -AddHandler cgi-script .cgi -Options +FollowSymLinks +ExecCGI - -# If you don't want Rails to look in certain directories, -# use the following rewrite rules so that Apache won't rewrite certain requests -# -# Example: -# RewriteCond %{REQUEST_URI} ^/notrails.* -# RewriteRule .* - [L] - -# Redirect all requests not available on the filesystem to Rails -# By default the cgi dispatcher is used which is very slow -# -# For better performance replace the dispatcher with the fastcgi one -# -# Example: -# RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] -RewriteEngine On - -# If your Rails application is accessed via an Alias directive, -# then you MUST also set the RewriteBase in this htaccess file. -# -# Example: -# Alias /myrailsapp /path/to/myrailsapp/public -# RewriteBase /myrailsapp - -RewriteRule ^$ index.html [QSA] -RewriteRule ^([^.]+)$ $1.html [QSA] -RewriteCond %{REQUEST_FILENAME} !-f -RewriteRule ^(.*)$ dispatch.cgi [QSA,L] - -# In case Rails experiences terminal errors -# Instead of displaying this message you can supply a file here which will be rendered instead -# -# Example: -# ErrorDocument 500 /500.html - -ErrorDocument 500 "