Changed ActiveRecord::Associations::CollectionProxy#select to take multiple arguments.

This makes the arguments the same as ActiveRecord::QueryMethods::select.
Maintain proleptic gregorian in Time#advance

Time#advance uses Time#to_date and Date#advance to calculate a new date.
The Date object returned by Time#to_date is constructed with the assumption
that the Time object represents a proleptic gregorian date, but it is
configured to observe the default julian calendar reform date (2299161j)
for purposes of calculating month, date and year:

  Time.new(1582, 10, 4).to_date.to_s           # => "1582-09-24"
  Time.new(1582, 10, 4).to_date.gregorian.to_s # => "1582-10-04"

This patch ensures that when the intermediate Date object is advanced
to yield a new Date object, that the Time object for return is contructed
with a proleptic gregorian month, date and year.
Allows you to check if an attribute has changed to a particular value

model.name_changed?(from: "Pete", to: "Ringo")
[ci skip] trailing documentation whitespace
Fix few typos and improve markup at some levels
Add any/all support for variants

Like `format.any`, you can do the same with variants.

It works for both inline:

    respond_to do |format|
      format.html.any   { render text: "any"   }
      format.html.phone { render text: "phone" }
    end

and block syntax:

    respond_to do |format|
      format.html do |variant|
        variant.any(:tablet, :phablet){ render text: "any" }
        variant.phone { render text: "phone" }
      end
    end
Typo fix [ci skip]
Merge pull request #13513 from ilja/master

Typo fix [ci skip]
setting `changed_attributes` instance variable if it is already initialized.
Merge pull request #13514 from kuldeepaggarwal/f-removed-warnings

Removed warnings: setting `changed_attributes` instance variable if it is already initialized.
Extracted blank matcher regexp to constant
Merge pull request #13517 from jetthoughts/13516_blank_to_return_true_false

String#blank? returns True/False
blank? and present? commit to return singletons [Xavier Noria & Pavel Pravosud]

The contract of blank? and present? was in principle to return Object, as we
generally do, the test suite and description was consistent with that, but some
examples had comments like "# => true".

This cannot be unclear, we either fix the examples, or update the contract.

Since users may be already assuming singletons due to the examples and the fact
that they were returned before 30ba7ee, the safest option seems to be to revise
the contract and the implementation of String#blank?

The motivation for 30ba7ee was to improve the performance of the predicate, the
refactor based on === is on par regarding speed.

With this commit we start documenting return types using YARD conventions. We
plan to document return types gradually.
used user-defined configurations for running tests that might depend on user's system configuration
Install bundle gems to the system not to vendor/bundle

Rubinius has problems with bundling when shared gems are disabled (ie.
when --path or --deployhment is used). There is no real reason to
install it with --path on TravisCI, so I'm dropping it.
Fix method redefined warning message in mapper.rb
Fix Encoding::CompatibilityError when public path is UTF-8

In #5337 we forced the path encoding to ASCII-8BIT to prevent static
file handling from blowing up before an application has had chance to
deal with possibly invalid urls. However this has a negative side
effect of making it an incompatible encoding if the application's
public path has UTF-8 characters in it.

To work around the problem we check to see if the path has a valid
encoding once it has been unescaped. If it is not valid then we can
return early since it will not match any file anyway.

Fixes #13518
raise `ArgumentError` exception if `Model.where.not` is called with `nil` argument
Merge pull request #13534 from kuldeepaggarwal/f-where-not

raise ArgumentError for nil in .where.not
Merge pull request #13527 from kuldeepaggarwal/f-independent-specs

Use user-defined configurations in mysql tests