Ensure mail_to helper does not modify the given html options hash
Refactor mail_to to not generate intermediate hashes when adding href

There's no need to use Hash#merge with a new hash just for setting the
href option to pass it through. Since we're always dealing with a new
html_options hash, we're free to just set the value instead.
Use the correct pk field from the reflected class to find the old record

The implementation was using the source class foreign key field instead
of the reflected primary key one to find the old record.

For instance, for this scenario

    class Bulb < ActiveRecord::Base
      belongs_to :car, :touch => true
    end

    class Car < ActiveRecord::Base
      has_many :bulbs
    end

the current implementation was trying to do this query:

    Car.where(car_id: X).first

where we should be doing this query:

    Car.where(id: X).first

This should hopefully fix the build.
Avoid an attempt to fetch old record when id was not present in touch callback
fix Array#uniq_by! docs [ci skip]
mark ReversibleBlockHelper as :nodoc: [ci skip]
update ActiveRecord::AttributeMethods::Serialization documentation [ci skip]
Sort modules in alphabetical order.
Improve `belongs_to touch: true` timestamp test

Round off time to a whole second value to compensate for databases
that don't support fractional timestamps. Also add a assertion to
check that the old record is touched when the association is cleared.
correct image for unknown_action_create_for_posts.png
Merge pull request #133 from chandresh/master

Fixed the unknown_action_create_for_posts.png image
Merge pull request #10102 from xxxcaqui/master

Sort modules in active_record.rb
failing test for #9869
Fix scope chaining + STI

See #9869 and #9929.

The problem arises from the following example:

    class Project < ActiveRecord::Base
      scope :completed, -> { where completed: true }
    end

    class MajorProject < Project
    end

When calling:

    MajorProject.where(tasks_count: 10).completed

This expands to:

    MajorProject.where(tasks_count: 10).scoping {
      MajorProject.completed
    }

However the lambda for the `completed` scope is defined on Project. This
means that when it is called, `self` is Project rather than
MajorProject. So it expands to:

    MajorProject.where(tasks_count: 10).scoping {
      Project.where(completed: true)
    }

Since the scoping was applied on MajorProject, and not Project, this
fails to apply the tasks_count condition.

The solution is to make scoping apply across STI classes. I am slightly
concerned about the possible side-effects of this, but no tests fail and
it seems ok. I guess we'll see.
Merge pull request #10058 from jamesgolick/master

Avoid calling define_method in CollectionProxy#scope
Merge pull request #9996 from mikz/master

Association with inverse_of does not set the parent in association building block
Fix indent and remove extra white spaces
Move changelog to the top [ci skip]
Correctly parse bigint defaults in PostgreSQL
Refactoring some reused code into a method (inside of the routes
mapper) and adding a constant for all the possible scopes.