Permalink
Commits on Feb 1, 2015
  1. Cache `url_helpers` separately for mailers

    The commit 3b63780 re-introduced url helper caching but we need to
    cache a separate module for Action Mailer without paths.
    pixeltrix committed Feb 1, 2015
  2. Merge pull request #18776 from eileencodes/cache-url-helpers

    Cache `url_helpers`
    pixeltrix committed Feb 1, 2015
  3. Cache `url_helpers`

    `url_helpers` used to be memoized. This was lost in a refactoring and
    this PR adds it back. We noticed this while investigating why
    integration tests are slower than controller tests.
    eileencodes committed Feb 1, 2015
  4. Fix Issue #15549, unbounded memory growth when saving records that ha…

    …ve any after_create callbacks (or any associations, which makes after_create callbacks for you)
    willbryant committed with tenderlove Sep 2, 2014
  5. push add to transaction logic down to the instance

    the transaction object shouldn't know so much about active record
    objects, so let's push the conditionals in to the instance.
    tenderlove committed Feb 1, 2015
  6. Merge pull request #18770 from palkan/docs-hasone-dependent

    Add note about has_one :through and :dependent
    seuros committed Feb 1, 2015
  7. Merge pull request #18756 from ajgrover/activejob_tests

    Update queue_classic gem to use latest
    matthewd committed Feb 1, 2015
  8. Merge pull request #18721 from sj26/pre-discard-flash

    Pre-discard flash messages
    tenderlove committed Feb 1, 2015
  9. Merge pull request #18769 from gsamokovarov/exception-wrapper-windows…

    …-paths
    
    Show proper traces on Windows for the error pages
    pixeltrix committed Feb 1, 2015
  10. Merge branch 'master' into mdluo-master

    * master:
      Move required error message and changelog to Active Record
      Use public Module#include, in favor of https://bugs.ruby-lang.org/issues/8846
      Use Module#include instead of send :include, since now is a public method [ci skip]
      ✂️ warning from controller renderer test
    
    Conflicts:
    	activerecord/CHANGELOG.md
    tenderlove committed Feb 1, 2015
  11. Move required error message and changelog to Active Record

    The new association error belongs to Active Record, not Active Model.
    See #18700 for reference.
    carlosantoniodasilva committed Feb 1, 2015
  12. Merge pull request #18759 from yuki24/remove-warning

    ✂️ warning from controller renderer test
    senny committed Feb 1, 2015
  13. Show proper traces on Windows for the error pages

    This is an issue brought up by @daniel-rikowski in rails/web-console#91.
    
    Citing his PR proposal here:
    
    > Prior to this, backtrace lines were simply split by a single colon.
    >
    > Unfortunately that is also the drive letter delimiter in Windows paths
    > which resulted in a lot of empty source fragments of "C:0". ("C" from
    > the drive letter and 0 from "/path/to/rails/file.rb:16".to_i)
    >
    > Now the trace line is split by the first colon followed by some digits,
    > which works for both Windows and Unix path styles.
    
    Now, the PR was sent against web-console, because of the templates copy
    issue we used to had. Instead of bothering the contributor to reopen the
    issue against upstream Rails itself, I will make sure he gets the credit
    by putting his name in [rails-contributors/hard_coded_authors.rb][].
    
      [rails-contributors/hard_coded_authors.rb]: (https://github.com/fxn/rails-contributors/blob/master/app/models/names_manager/hard_coded_authors.rb).
    gsamokovarov committed Jan 31, 2015
  14. Merge pull request #18767 from robertomiranda/ruby-2.2

    Use public Module#include, in favor of https://bugs.ruby-lang.org/issues/8846
    sgrif committed Feb 1, 2015
  15. Merge pull request #1 from mdluo/pr/18316

    Fix n+1 query problem when eager loading nil associations (fixes #18312)
    mdluo committed Feb 1, 2015
  16. Merge pull request #18763 from robertomiranda/ruby-2.2

    Use Module#include instead of send :include, since Module#include is a public method [ci skip]
    sgrif committed Feb 1, 2015
  17. Merge branch 'master' into pr/18316

    Conflicts:
    	activerecord/CHANGELOG.md
    mdluo committed Feb 1, 2015
  18. Attribute assignment and type casting has nothing to do with columns

    It's finally finished!!!!!!! The reason the Attributes API was kept
    private in 4.2 was due to some publicly visible implementation details.
    It was previously implemented by overloading `columns` and
    `columns_hash`, to make them return column objects which were modified
    with the attribute information.
    
    This meant that those methods LIED! We didn't change the database
    schema. We changed the attribute information on the class. That is
    wrong! It should be the other way around, where schema loading just
    calls the attributes API for you. And now it does!
    
    Yes, this means that there is nothing that happens in automatic schema
    loading that you couldn't manually do yourself. (There's still some
    funky cases where we hit the connection adapter that I need to handle,
    before we can turn off automatic schema detection entirely.)
    
    There were a few weird test failures caused by this that had to be
    fixed. The main source came from the fact that the attribute methods are
    now defined in terms of `attribute_names`, which has a clause like
    `return [] unless table_exists?`. I don't *think* this is an issue,
    since the only place this caused failures were in a fake adapter which
    didn't override `table_exists?`.
    
    Additionally, there were a few cases where tests were failing because a
    migration was run, but the model was not reloaded. I'm not sure why
    these started failing from this change, I might need to clear an
    additional cache in `reload_schema_from_cache`. Again, since this is not
    normal usage, and it's expected that `reset_column_information` will be
    called after the table is modified, I don't think it's a problem.
    
    Still, test failures that were unrelated to the change are worrying, and
    I need to dig into them further.
    
    Finally, I spent a lot of time debugging issues with the mutex used in
    `define_attribute_methods`. I think we can just remove that method
    entirely, and define the attribute methods *manually* in the call to
    `define_attribute`, which would simplify the code *tremendously*.
    
    Ok. now to make this damn thing public, and work on moving it up to
    Active Model.
    sgrif committed Jan 30, 2015
  19. Merge pull request #18760 from hjoo/fix_fixtures

    changed deleted_tables list to set
    tenderlove committed Feb 1, 2015
  20. Merge pull request #18512 from vipulnsward/18492-fixtures-with-sti

    Fix STI for fixtures from multi-files
    tenderlove committed Feb 1, 2015
  21. ✂️ warning from controller renderer test

    rails/actionpack/test/controller/renderer_test.rb:89: warning: possible reference to past scope - defaults
    yuki24 committed Feb 1, 2015
  22. Remove `AttributeSet#initialized_keys`

    This method doesn't need to be lazy, as it is never called from reads.
    The only time it is called are in write cases, where we're about to loop
    through the results of it, and build the attribute objects anyway. So we
    don't gain anything by dodging the instantiation here. This is the only
    method that coupled `AttributeSet` to `LazyAttributeHash`, so removing
    it puts us back in a place where we can use a normal hash instead.
    sgrif committed Feb 1, 2015
Commits on Jan 31, 2015
  1. Merge pull request #18700 from nygrenh/better-required-message

    Provide a better error message on :required association
    tenderlove committed Jan 31, 2015
  2. Update queue_classic gem to use latest

    Remove '<3.0.0' requirement for queue_classic gem. This fixes the issue
    that the gem was attempting to parse the queue name as a URI, causing
    all of the tests to fail.
    Alex Grover committed Jan 31, 2015
  3. Merge pull request #18753 from andreynering/guide-single-table-inheri…

    …tance
    
    Add Single Table Inheritance to guides [ci skip]
    robin850 committed Jan 31, 2015
  4. Merge pull request #18540 from andreynering/guides-custom-form-builder

    Improving 'Customizing Form Builder' section with example [ci skip]
    robin850 committed Jan 31, 2015