Allows you to do BaseClass.new(:type => "SubClass") as well as
parent.children.build(:type => "SubClass") or parent.build_child
to initialize an STI subclass. Ensures that the class name is a
valid class and that it is in the ancestors of the super class
that the association is expecting.
Rather than just raising a NoMethodError when copying the config, this
commit adds a warning message until either the rails-observers gem is
installed or the relevant config options are removed.
This behavior mattered under Ruby 1.8, but that doesn't matter now
that we don't support it.
In addition, we don't want to proxy the #class method. A test was added
to prevent against regressions.
When serialising a class, specify the type of any singular associations, if
necessary. Rails already correctly specifies the :type of any enumerable
association (e.g. a has_many association), but made no attempt to do so for
non-enumerables (e.g. a has_one association).
We must specify the :type of any STI association. A has_one
association to a class which uses single-table inheritance is an example of
this type of association.
Fixes#7471
This reverts commit 6bcbd6046f82c5f0114249a6b725f9679a140b9a.
The default value for require_paths is ['lib'], and Rails does not
need to include any lib/ file to build the gem, so the previous
commit 'makes sense'. However, gems will not be built at all if
require_paths is empty (see https://gist.github.com/1065473), so
it's better to stick with the default, which does not have any
side-effects
Instead of deleting the skip_digest option flag, this changes the method to merely check the
key. This change is because of a discussion in this thread:
https://github.com/rails/rails/pull/8317
This commit also makes #fragment_name_with_digest private due to its
functionality being subsumed by #cache_fragment_name.
* I guess this would be the preferrable default for Bundler
* current version of Bundler converts :rubygems into 'http://rubygems.org', not https://,
and that will help those who are working on a very poor network environment that doesn't allow SSL
This file was using mime_types before load the Mime::Type class.
When trying to register first Mime::Type it load mime_type that loads
mime_types in the end.
Requiring mime_type ensure that we have the class definition and the
mime types
We are already in the AR namespace, there's no way for it to be
undefined. See the cousin commit 13e72db77063f57c3028a906690d42fb068845bb
Refactor a bit teardown fixtures to avoid two conditionals.