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

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

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

    eileencodes committed Feb 1, 2015
    `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.
  4. Fix Issue #15549, unbounded memory growth when saving records that ha…

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

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

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

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

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

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

    tenderlove committed Feb 1, 2015
    * 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
  11. Move required error message and changelog to Active Record

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

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

    gsamokovarov committed Jan 31, 2015
    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).
  14. Merge pull request #18767 from robertomiranda/ruby-2.2

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

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

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

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

    sgrif committed Jan 30, 2015
    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.
  19. Merge pull request #18760 from hjoo/fix_fixtures

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

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

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

    sgrif committed Feb 1, 2015
    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.
Commits on Jan 31, 2015
  1. Merge pull request #18700 from nygrenh/better-required-message

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

    Alex Grover
    Alex Grover committed Jan 31, 2015
    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.
  3. Merge pull request #18753 from andreynering/guide-single-table-inheri…

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

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