Remove hard dependency on bcrypt-ruby to avoid make ActiveModel dependent on a binary library. You must add the gem explicitly to your Gemfile if you want use ActiveModel::SecurePassword:
gem 'bcrypt-ruby', '~> 3.0.0'
See GH #2687. Guillermo Iguaran
Alternate I18n namespace lookup is no longer supported. Instead of "activerecord.models.admins.post", do "activerecord.models.admins/post" instead José Valim
attr_accessible and friends now accepts :as as option to specify a role Josh Kalderimis
Add support for proc or lambda as an option for InclusionValidator, ExclusionValidator, and FormatValidator Prem Sichanugrist
You can now supply Proc, lambda, or anything that respond to #call in those validations, and it will be called with current record as an argument. That given proc or lambda must returns an object which respond to #include? for InclusionValidator and ExclusionValidator, and returns a regular expression object for FormatValidator.
Added ActiveModel::SecurePassword to encapsulate dead-simple password usage with BCrypt encryption and salting DHH
ActiveModel::AttributeMethods allows attributes to be defined on demand Alexander Uvarov
Add support for selectively enabling/disabling observers Myron Marston
Rails 3.0.6 (April 5, 2011)
Fix when database column name has some symbolic characters (e.g. Oracle CASE# VARCHAR2(20)) #5818 #6850 Robert Pankowecki, Santiago Pastorino
Fix length validation for fixnums #6556 Andriy Tyurnikov
Fix i18n key collision with namespaced models #6448 yves.senn
- No changes.
- No changes.
- No changes.
- No changes
- No Changes, just a version bump.
Added ActiveModel::MassAssignmentSecurity Eric Chapweske, Josh Kalderimis
JSON supports a custom root option: to_json(:root => 'custom') #4515 Jatinder Singh
#new_record? and #destroyed? were removed from ActiveModel::Lint. Use persisted? instead. A model is persisted if it's not a new_record? and it was not destroyed? MG
Added validations reflection in ActiveModel::Validations JV
#to_key was added to ActiveModel::Lint so we can generate DOM IDs for AMo objects with composite keys MG
It has a custom hook to define after_find that should really be in a ActiveRecord::Observer subclass:
def add_observer!(klass) klass.add_observer(self) klass.class_eval 'def after_find() end' unless klass.respond_to?(:after_find) end
Change the ActiveModel::Base.include_root_in_json default to true for Rails 3 DHH
Add validates_format_of :without => /regexp/ option. #430 Elliot Winkler, Peer Allan
validates_format_of :subdomain, :without => /www|admin|mail/
Introduce validates_with to encapsulate attribute validations in a class. #2630 Jeff Dean
Extracted from Active Record and Active Resource.