1. 23 11月, 2013 6 次提交
  2. 22 11月, 2013 22 次提交
  3. 21 11月, 2013 7 次提交
    • C
      Merge pull request #12970 from prathamesh-sonpatki/issue12885 · 68aebd48
      Carlos Antonio da Silva 提交于
      Add positional information to eval call so that this information will be used in printing correct location where the exception occurred.
      
      Closes #12885.
      68aebd48
    • C
      Merge pull request #12986 from budnik/fix-unicode-nbsp · 05052390
      Carlos Antonio da Silva 提交于
      replace U+00A0 with whitespace, Fixes #12985
      05052390
    • D
      replace U+00A0 with whitespace · f1ffedb2
      Dmitriy Budnik 提交于
      f1ffedb2
    • X
      Merge pull request #12976 from tmm1/faster-blank · 9b423c98
      Xavier Noria 提交于
      Faster String#blank?
      9b423c98
    • A
      Expand double-negative in String#blank? regex · 30ba7ee5
      Aman Gupta 提交于
      30ba7ee5
    • J
      Fix ActiveRecord::Relation#unscope · 64b9e93b
      Jon Leighton 提交于
      I'm pretty confused about the addition of this method. The documentation
      says that it was intended to allow the removal of values from the
      default scope (in contrast to #except). However it behaves exactly the
      same as except: https://gist.github.com/jonleighton/7537008 (other than
      having a slightly enhanced syntax).
      
      The removal of the default scope is allowed by
      94924dc3, which was not a change we
      could make until 4.1 due to the need to deprecate things. However after
      that change #unscope still gives us nothing that #except doesn't already
      give us.
      
      However there *is* a desire to be able to unscope stuff in a way that
      persists across merges, which would allow associations to be defined
      which unscope stuff from the default scope of the associated model. E.g.
      
        has_many :comments, -> { unscope where: :trashed }
      
      So that's what this change implements. I've also corrected the
      documentation. I removed the guide references to #except as I think
      unscope really supercedes #except now.
      
      While we're here, there's also a potential desire to be able to write
      this:
      
        has_many :comments, -> { unscoped }
      
      However, it doesn't make sense and would not be straightforward to
      implement. While with #unscope we're specifying exactly what we want to
      be removed from the relation, with "unscoped" we're just saying that we
      want it to not have some things which were added earlier on by the
      default scope. However in the case of an association, we surely don't
      want *all* conditions to be removed, otherwise the above would just
      become "SELECT * FROM comments" with no foreign key constraint.
      
      To make the above work, we'd have to somehow tag the relation values
      which get added when evaluating the default scope in order to
      differentiate them from other relation values. Which is way too much
      complexity and therefore not worth it when most use cases can be
      satisfied with unscope.
      
      Closes #10643, #11061.
      64b9e93b
    • P
      Add positional information to eval call so that this information will · 26f8fb86
      Prathamesh Sonpatki 提交于
      be used in printing correct location where the exception occurred.
      Closes #12885
      
      - Without this the location of exception is always the line on which
        'eval' is called
      - But if the exception occurs in a gem outside of Rails, then that
        location is not printed in stacktrace
      26f8fb86
  4. 20 11月, 2013 5 次提交
    • Y
    • X
      Merge pull request #12824 from sikachu/ps-testing-time-helper · b43b6d5c
      Xavier Noria 提交于
      Add `#travel` and `#travel_to` to `ActiveSupport::TestCase`
      b43b6d5c
    • P
      Add `#travel` and `#travel_to` to AS::TestCase · 225cd915
      Prem Sichanugrist 提交于
      Add `ActiveSupport::Testing::TimeHelpers#travel` and `#travel_to`. These
      methods change current time to the given time or time difference by
      stubbing `Time.now` and `Date.today` to return the time or date after
      the difference calculation, or the time or date that got passed into the
      method respectively. These methods also accept a block, which will
      return current time back to its original state at the end of the block.
      
      Example for `#travel`:
      
          Time.now # => 2013-11-09 15:34:49 -05:00
          travel 1.day
          Time.now # => 2013-11-10 15:34:49 -05:00
          Date.today # => Sun, 10 Nov 2013
      
      Example for `#travel_to`:
      
          Time.now # => 2013-11-09 15:34:49 -05:00
          travel_to Time.new(2004, 11, 24, 01, 04, 44)
          Time.now # => 2004-11-24 01:04:44 -05:00
          Date.today # => Wed, 24 Nov 2004
      
      Both of these methods also accept a block, which will return the current
      time back to its original state at the end of the block:
      
          Time.now # => 2013-11-09 15:34:49 -05:00
      
          travel 1.day do
            User.create.created_at # => Sun, 10 Nov 2013 15:34:49 EST -05:00
          end
      
          travel_to Time.new(2004, 11, 24, 01, 04, 44) do
            User.create.created_at # => Wed, 24 Nov 2004 01:04:44 EST -05:00
          end
      
          Time.now # => 2013-11-09 15:34:49 -05:00
      
      This module is included in `ActiveSupport::TestCase` automatically.
      225cd915
    • R
      Use `SchemaStatements#initialize_schema_migrations_table` instead of... · 5d788e94
      Ryuta Kamizono 提交于
      Use `SchemaStatements#initialize_schema_migrations_table` instead of `ActiveRecord::SchemaMigration.create_table`.
      5d788e94
    • R
      Merge pull request #12961 from jbaudanza/doc · 1ffa4abc
      Rafael Mendonça França 提交于
      Update caching guide with respect to :namespace
      1ffa4abc