1. 02 7月, 2013 18 次提交
  2. 30 6月, 2013 2 次提交
    • Y
      162cc668
    • N
      Do not invoke callbacks when delete_all is called · f319e4a9
      Neeraj Singh 提交于
      Method `delete_all` should not be invoking callbacks and this
      feature was deprecated in Rails 4.0. This is being removed.
      `delete_all` will continue to honor the `:dependent` option. However
      if `:dependent` value is `:destroy` then the default deletion
      strategy for that collection will be applied.
      
      User can also force a deletion strategy by passing parameter to
      `delete_all`. For example you can do `@post.comments.delete_all(:nullify)`
      f319e4a9
  3. 29 6月, 2013 1 次提交
  4. 28 6月, 2013 6 次提交
    • C
      Remove order_values argument now that default_scope is simplified · 5e6de394
      Carlos Antonio da Silva 提交于
      In 94924dc3 the internal default_scope
      implementation has changed making it simpler to follow, meaning that the
      old usage of with_default_scope has been removed.
      
      With that, order_values was the same argument for both calls to
      find_first_with_limit, so remove it and use the existent attribute
      for the sake of clarity/simplification.
      5e6de394
    • D
      find_in_batches should work without logger · 1cf6871a
      Dmitry Polushkin 提交于
      1cf6871a
    • J
      Simplify/fix implementation of default scopes · 94924dc3
      Jon Leighton 提交于
      The previous implementation was necessary in order to support stuff
      like:
      
          class Post < ActiveRecord::Base
            default_scope where(published: true)
            scope :ordered, order("created_at")
          end
      
      If we didn't evaluate the default scope at the last possible moment
      before sending the SQL to the database, it would become impossible to
      do:
      
          Post.unscoped.ordered
      
      This is because the default scope would already be bound up in the
      "ordered" scope, and therefore wouldn't be removed by the
      "Post.unscoped" part.
      
      In 4.0, we have deprecated all "eager" forms of scopes. So now you must
      write:
      
          class Post < ActiveRecord::Base
            default_scope { where(published: true) }
            scope :ordered, -> { order("created_at") }
          end
      
      This prevents the default scope getting bound up inside the "ordered"
      scope, which means we can now have a simpler/better/more natural
      implementation of default scoping.
      
      A knock on effect is that some things that didn't work properly now do.
      For example it was previously impossible to use #except to remove a part
      of the default scope, since the default scope was evaluated after the
      call to #except.
      94924dc3
    • J
      Apply default scope when joining associations. · 55193e44
      Jon Leighton 提交于
      For example:
      
          class Post < ActiveRecord::Base
            default_scope -> { where published: true }
          end
      
          class Comment
            belongs_to :post
          end
      
      When calling `Comment.join(:post)`, we expect to receive only
      comments on published posts, since that is the default scope for
      posts.
      
      Before this change, the default scope from `Post` was not applied,
      so we'd get comments on unpublished posts.
      55193e44
    • A
      Fix indentation · 569227b0
      Akira Matsuda 提交于
      569227b0
    • Ł
      Remove deprecated attr_protected/accessible · 46893929
      Łukasz Strzałkowski 提交于
      Rails 4.0 has removed attr_protected and attr_accessible feature in favor of Strong Parameters.
      46893929
  5. 26 6月, 2013 2 次提交
    • W
      Moving the `pluck` and `ids` methods to their own delegate line. · 36c89664
      wangjohn 提交于
      These two methods aren't really statistical helper methods and don't
      really belong in any other group which is being delegated for querying,
      so I'm moving them to their own group of methods.
      
      I've also changed the `:to => :all` hash syntax to `to: :all`.
      36c89664
    • A
      removed unnecessary mapping for on options · 512f03e7
      Anton Kalyaev 提交于
      Right before that in `assert_valid_transaction_action` method we make
      sure that `options[:on]` contains values from `ACTIONS` array
      (`[:create, :destroy, :update]`) and nothing more (i.e. it could not
      contain strings or something else, otherwise the error is raised).
      
      Also I've polished some docs.
      512f03e7
  6. 23 6月, 2013 2 次提交
    • P
      Setup env and seed_loaded for DatabaseTasks outside load_config · 11ac1e8a
      Piotr Sarnacki 提交于
      Those vars can be used in tasks, which not call load_config.
      11ac1e8a
    • P
      Change a way ActiveRecord's config is prepared for rake tasks · 84fd0aad
      Piotr Sarnacki 提交于
      In commit d1d7c86d I moved setting migrations paths into activerecord's
      railtie to remove Rails dependency on databases.rake. However, it
      introduced a regression, ENGINE_PATH was not available at the moment, so
      engine's migrations where not added properly to paths. Fix was added
      at 97a4a771, but it changes a way things work from using ENGINE_PATH to
      APP_RAKEFILE. Additionally, the config runs when the code loads, while
      previously it ran in the db:load_config rake task
      
      In order to make it more in pair with original version this commit
      changes the config to run only on load_config task. This code uses the
      fact that defining a task in rake does not overwrite, but only appends.
      
      It also allows to get back to checking for ENGINE_PATH
      84fd0aad
  7. 22 6月, 2013 2 次提交
    • N
      flatten merged join_values before building the joins · 32420bd4
      Neeraj Singh 提交于
      fixes #10669
      
      While joining_values special treatment is given to string values.
      By flattening the array it ensures that string values are detected
      as strings and not arrays.
      32420bd4
    • N
      do not load all child records for inverse case · 82882d41
      Neeraj Singh 提交于
      currently `post.comments.find(Comment.first.id)` would load all
      comments for the given post to set the inverse association.
      
      This has a huge performance penalty. Because if post has 100k
      records and all these 100k records would be loaded in memory
      even though the comment id was supplied.
      
      Fix is to use in-memory records only if loaded? is true. Otherwise
      load the records using full sql.
      
      Fixes #10509
      82882d41
  8. 21 6月, 2013 1 次提交
  9. 20 6月, 2013 2 次提交
  10. 19 6月, 2013 4 次提交