Merge pull request #6908 from apotonick/av-prepare2

Av prepare2
Fix collation database task to use begin..rescue..end
Merge branch 'master' of github.com:lifo/docrails

Conflicts:
	activemodel/lib/active_model/errors.rb
Add more options to column_exists? method

Also fix failures in check options for nil
Merge pull request #6913 from lexmag/column_exists_options

Add :default and :null options to column_exists? method

Examples:

    column_exists?(:testings, :taggable_id, :integer, null: false)
    column_exists?(:testings, :taggable_type, :string, default: 'Photo')
Merge pull request #6904 from guilleiguaran/remove-amo-dependency-in-ap

Remove Active Model dependency from Action Pack
update AR::SchemaStatements#column_exists? documentation [ci skip]
fix AR::SchemaStatements#column_exists? example [ci skip]
Update AR and AP changelogs [ci skip]
Persist glob when replacing a path

When Rails::Paths::Root's []= is used to replace a path it should persist the previous path's glob. Without passing the glob along we get gnarly bugs when trying to wire up things like engines.

    module FooEngine
      class Engine < ::Rails::Engine
        isolate_namespace FooEngine

        config.paths['config/initializers'] = "lib/foo_engine/initializers"
      end
    end

    ## Example of behaviour before this commit.
    #
    # Before the initializer override:
    >> FooEngine::Engine.config.paths["config/initializers"].glob
    => "**/*.rb"

    # After the initializer override:
    >> FooEngine::Engine.config.paths["config/initializers"].glob
    => nil

    ## Example of behaviour after this commit.
    #
    # Before the initializer override:
    >> FooEngine::Engine.config.paths["config/initializers"].glob
    => "**/*.rb"

    # After the initializer override:
    >> FooEngine::Engine.config.paths["config/initializers"].glob
    => "**/*.rb"
use config.action_controller instead of ActionController::Base in example code for asset_tag_helper
ActionDispatch::ClosedError no longer is raised. See d142572567 for more info.
Changed attr_accessible example to reflect grouped roles

Related to the request #5699 - https://github.com/rails/rails/pull/5699 and
not documented.
Use strftime to convert DateTime to numeric

The native implementation of the seconds since the UNIX epoch in
strftime is significantly faster than our method.

Benchmark:
----------
require 'benchmark/ips'
require 'date'
require 'time'

date = DateTime.civil(1253,7,6,20,4,0)

Benchmark.ips do |x|
  x.report("strftime.to_i") { date.strftime('%s').to_i }
  x.report("ssue.to_i") { ((date - DateTime.civil(1970)) * 86400).to_i }

  x.report("strftime.to_f") { date.strftime('%s').to_f }
  x.report("ssue.to_f") { ((date - DateTime.civil(1970)) * 86400).to_f }
end

Output:
-------
Calculating -------------------------------------
       strftime.to_i     26480 i/100ms
           ssue.to_i     13818 i/100ms
       strftime.to_f     26561 i/100ms
           ssue.to_f     14479 i/100ms
-------------------------------------------------
       strftime.to_i   616937.3 (±2.4%) i/s - 3098160 in 5.024749s
           ssue.to_i   200108.8 (±6.9%) i/s -  994896 in 4.999278s
       strftime.to_f   553581.3 (±2.2%) i/s - 2788905 in 5.040397s
           ssue.to_f   204260.3 (±4.3%) i/s - 1028009 in 5.043072s
Remove DateTime#to_time override

Currently if the offset is not zero then to_time returns self which
can lead to errors where a developer assumes that the value is a
Time. To solve this we can use the native implementation of
DateTime#to_time in Ruby 1.9.3 as it handles offsets properly and
is faster than our override.
Remove rescue clause from ActiveSupport::TimeZone#to_f

Time#at no longer raises an error for large values so we can remove
the rescue clause from ActiveSupport::TimeZone#to_f.
Make Time#change work with offsets other than UTC or local

Use Time.new to create times where the current offset is not zero or
not in the local time zone - closes #4847 and #6651.
Merge pull request #6910 from mulder/fix_path_glob

Persist glob when replacing a path
Refactor migration test_helper

and create_join_table_test
Merge pull request #6914 from lexmag/migration_tests

Refactor migration test_helper