diff --git a/lib/devise.rb b/lib/devise.rb index 83fcacef..3b3f5685 100644 --- a/lib/devise.rb +++ b/lib/devise.rb @@ -16,26 +16,6 @@ module Devise }.freeze TRUE_VALUES = [true, 1, '1', 't', 'T', 'true', 'TRUE'].freeze - - MODEL_CONFIG = [] - - def self.model_config(klass, accessor, default=nil) - # Create Devise accessor - mattr_accessor accessor - - # Set default value - send(:"#{accessor}=", default) - - # Store configuration method - MODEL_CONFIG << accessor - - # Set default value - klass.class_eval <<-METHOD - def #{accessor} - Devise.#{accessor} - end - METHOD - end end require 'devise/warden' diff --git a/lib/devise/active_record.rb b/lib/devise/active_record.rb index f6d2cd7a..92ba5e4e 100644 --- a/lib/devise/active_record.rb +++ b/lib/devise/active_record.rb @@ -47,7 +47,6 @@ module Devise # def devise(*modules) options = modules.extract_options! - options.assert_valid_keys(:except, *Devise::MODEL_CONFIG) modules = Devise::ALL if modules.include?(:all) modules -= Array(options.delete(:except)) if options.key?(:except) @@ -58,17 +57,8 @@ module Devise include Devise::Models.const_get(m.to_s.classify) end - # Convert new keys to methods which overwrites Devise defaults options.each do |key, value| - if value.is_a?(Proc) - define_method key, &value - else - class_eval <<-END_EVAL, __FILE__, __LINE__ - def #{key} - #{value.inspect} - end - END_EVAL - end + self.send(:"#{key}=", value) end end diff --git a/lib/devise/models/authenticable.rb b/lib/devise/models/authenticable.rb index feb95a8a..df2ab96b 100644 --- a/lib/devise/models/authenticable.rb +++ b/lib/devise/models/authenticable.rb @@ -24,13 +24,14 @@ module Devise # User.find(1).valid_password?('password123') # returns true/false # module Authenticable - Devise.model_config(self, :pepper) - Devise.model_config(self, :stretches, 10) - def self.included(base) base.class_eval do extend ClassMethods + cattr_accessor :pepper, :stretches, :instance_writer => false + protected :pepper, :stretches + self.pepper, self.stretches = nil, 10 + attr_reader :password attr_accessor :password_confirmation attr_accessible :email, :password, :password_confirmation