1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activesupport/CHANGELOG.md
Peter Jaros 03f35a27dc HashWithIndifferentAccess better respects #to_hash
In particular, `.new`, `#update`, `#merge`, `#replace` all accept
objects which respond to `#to_hash`, even if those objects are not
Hashes directly.
2014-03-28 10:25:06 -04:00

1.5 KiB

  • HashWithIndifferentAccess better respects #to_hash on objects it's given. In particular, .new, #update, #merge, #replace all accept objects which respond to #to_hash, even if those objects are not Hashes directly.

    Peter Jaros

  • Deprecate Class#superclass_delegating_accessor, use Class#class_attribute instead.

    Akshay Vishnoi

  • Ensure classes which include Enumerable get #to_json in addition to #as_json.

    Sammy Larbi

  • Change the signature of fetch_multi to return a hash rather than an array. This makes it consistent with the output of read_multi.

    Parker Selbert

  • Introduce Concern#class_methods as a sleek alternative to clunky module ClassMethods. Add Kernel#concern to define at the toplevel without chunky module Foo; extend ActiveSupport::Concern boilerplate.

    # app/models/concerns/authentication.rb
    concern :Authentication do
      included do
        after_create :generate_private_key
      end
    
      class_methods do
        def authenticate(credentials)
          # ...
        end
      end
    
      def generate_private_key
        # ...
      end
    end
    
    # app/models/user.rb
    class User < ActiveRecord::Base
      include Authentication
    end
    

    Jeremy Kemper

Please check 4-1-stable for previous changes.