1. 31 5月, 2016 2 次提交
    • S
      Ensure hashes can be passed to attributes using `composed_of` · ff4986b9
      Sean Griffin 提交于
      This behavior was broken by 36e9be85. When the value is assigned
      directly, either through mass assignment or directly assigning a hash,
      the hash gets passed through to this writer method directly. While this
      is intended to handle certain cases, when an explicit converter has been
      provided, we should continue to use that instead. The positioning of the
      added guard caused the new behavior to override that case.
      
      Fixes #25210
      ff4986b9
    • S
      Exists shouldn't error when used with `includes` · 02da8aea
      Sean Griffin 提交于
      Currently `exists?` does some hackery where it assumes that we can join
      onto anything that we passed to `eager_load` or `includes`, which
      doesn't work if we are joining onto a polymorphic association.
      
      Actually figuring out if we want to include something would require
      knowledge deep within the join dependency module, which is hard to pull
      up. The simplest solution is just to pass a flag down that says we're
      not actually going to try to eager load any of the data. It's not the
      solution I'd like, but that code really needs to be untangled before we
      can do much with it.
      
      This is another attempt at 6d5b1fdf which should address the concerns
      that led to reverting it in 4ecabed2.
      02da8aea
  2. 30 5月, 2016 1 次提交
    • R
      Tiny document fixes [ci skip] · 1afdbbeb
      Robin Dupret 提交于
      Add a missing capital letter and avoid using absolute links to the
      API because they may refer to out-dated documentation on the Edge
      site.
      1afdbbeb
  3. 28 5月, 2016 2 次提交
  4. 27 5月, 2016 2 次提交
  5. 25 5月, 2016 4 次提交
  6. 24 5月, 2016 1 次提交
  7. 21 5月, 2016 4 次提交
  8. 20 5月, 2016 1 次提交
  9. 19 5月, 2016 1 次提交
  10. 17 5月, 2016 1 次提交
    • J
      Keep state around for nested calls to #suppress · 25801cfe
      Jahfer Husain 提交于
      If a call to #suppress from the same class occurred inside another #suppress
      block, the suppression state would be set to false before the outer block
      completes.
      
      This change keeps the previous state around in memory and unwinds it
      as the blocks exit.
      25801cfe
  11. 15 5月, 2016 1 次提交
  12. 13 5月, 2016 3 次提交
  13. 12 5月, 2016 4 次提交
  14. 11 5月, 2016 5 次提交
    • A
      Set conn_spec_name after remove · 897decac
      Arthur Neves 提交于
      `remove_connection` can reset the `connection_specification_name`, so we
      need to to set it after the remove_connection call on
      `establish_connection` method.
      897decac
    • A
      Dont cache the conn_spec_name when empty · f1030fd8
      Arthur Neves 提交于
      We cannot cache the connection_specification_name when it doesnt
      exist. Thats because the parent value could change, and we should keep
      failling back to the parent. If we cache that in a children as an ivar,
      we would not fallback anymore in the next call, so the children would
      not get the new parent spec_name.
      f1030fd8
    • Y
      [ci skip] Update documents of `ConnectionHandler` · 64634ce6
      yui-knk 提交于
      Follow up of #24844.
      The key of `@owner_to_pool` was changed from `klass.name` to
      `spec.name`. By this change "memory leaks in development mode"
      will not happen, bacause the equality of string is not changed
      by reloading of model files.
      64634ce6
    • A
      Make sure we reset the connection_specification_name on · d6f3ad7c
      Arthur Neves 提交于
      remove_connection
      
      When calling `remove_connection` on a model, we delete the pool so we also
      need to reset the `connection_specification_name` so it will fallback to
      the parent.
      This was the current behavior before rails 5, which will fallback to the
      parent connection pool.
      
      [fixes #24959]
      
      Special thanks to @jrafanie for working with me on this fix.
      d6f3ad7c
    • J
      Fix ActiveRecord::LogSubscriber edge case · c6503415
      Jon Moss 提交于
      If an attribute was of the binary type, and also was a Hash, it would
      previously not be logged, and instead raise an error saying that
      `bytesize` was not defined for the `attribute.value` (a `Hash`).
      
      Now, as is done on 4-2-stable, the attribute's database value is
      `bytesize`d, and then logged out to the terminal.
      
      Reproduction script:
      
      ```ruby
      require 'active_record'
      require 'minitest/autorun'
      require 'logger'
      
      ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:')
      ActiveRecord::Base.logger = Logger.new(STDOUT)
      
      ActiveRecord::Schema.define do
        create_table :posts, force: true do |t|
          t.binary :preferences
        end
      end
      
      class Post < ActiveRecord::Base
        serialize :preferences
      end
      
      class BugTest < Minitest::Test
        def test_24955
          Post.create!(preferences: {a: 1})
      
          assert_equal 1, Post.count
        end
      end
      ```
      c6503415
  15. 10 5月, 2016 4 次提交
  16. 09 5月, 2016 1 次提交
  17. 08 5月, 2016 1 次提交
    • J
      Followup to #24844 · a8258e2b
      Jon Moss 提交于
      Some slight documentation edits and fixes. Also, run remove unnecessary
      `RuntimeError`.
      
      r? @arthurnn
      a8258e2b
  18. 07 5月, 2016 2 次提交