Permalink
Commits on Jan 5, 2014
  1. Merge pull request #13598 from zirni/remove_ar_warnings

    rafaelfranca committed Jan 5, 2014
    Remove method redefined warnings for test suite
    
    Closes #13526
  2. Remove method redefined warnings for test suite

    zirni committed Jan 5, 2014
    has_many definitions with "name" as singular and as plural e.g.
      has_many :welcome_posts_with_comment
      has_many :welcome_posts_with_comments
    
    Ruby mentions it with:
    
    lib/active_record/associations/builder/collection_association.rb:65:
      warning: method redefined; discarding old welcome_posts_with_comment_ids
    lib/active_record/associations/builder/collection_association.rb:65:
      warning: previous definition of welcome_posts_with_comment_ids was here
    lib/active_record/associations/builder/collection_association.rb:75:
      warning: method redefined; discarding old welcome_posts_with_comment_ids=
    lib/active_record/associations/builder/collection_association.rb:75:
      warning: previous definition of welcome_posts_with_comment_ids= was here
  3. Switched to use `display:none` in extra_tags_for_form method.

    gaelian committed with pixeltrix Jun 3, 2012
    The use of `display:inline` with the content_tag call in the
    extra_tags_for_form method potentially causes display issues with some
    browsers, namely Internet Explorer. IE's behaviour of not collapsing
    the line height on divs with ostensibly no content means that the
    automatically added div containing the hidden authenticity_token, utf8
    and _method form input tags may interfere with other visible form
    elements in certain circumstances. The use of `display:none` rather
    than `display:inline` Fixes this problem.
    
    Fixes #6403
  4. Unique the segment keys array for non-optimized url helpers

    pixeltrix committed Jan 5, 2014
    In Rails 3.2 you only needed pass an argument for dynamic segment once so
    unique the segment keys array to match the number of args. Since the number
    of args is less than required parts the non-optimized code path is selected.
    This means to benefit from optimized url generation the arg needs to be
    specified as many times as it appears in the path.
    
    Fixes #12808
  5. Show full route constraints in error message

    pixeltrix committed Jan 5, 2014
    When an optimized helper fails to generate, show the full route constraints
    in the error message. Previously it would only show the contraints that were
    required as part of the path.
    
    Fixes #13592
  6. Use a custom route vistor for optimized route generation

    pixeltrix committed Jan 5, 2014
    Using a Regexp to replace dynamic segments in a path string is fraught
    with difficulty and can lead to odd edge cases like #13349. Since we
    already have a parsed representation of the path it makes sense to use
    that to generate an array of segments that can be used to build an
    optimized route's path quickly.
    
    Tests on a simple route (e.g. /posts/:id) show a speedup of 35%:
    https://gist.github.com/pixeltrix/8261932
    
    Calculating -------------------------------------
        Current Helper:       5274 i/100ms
        New Helper:           8050 i/100ms
    -------------------------------------------------
        Current Helper:     79263.6 (±3.7%) i/s -     395550 in   4.997252s
        New Helper:        153464.5 (±4.9%) i/s -     772800 in   5.047834s
    
    Tests on a more complex route show even an greater performance boost:
    https://gist.github.com/pixeltrix/8261957
    
    Calculating -------------------------------------
        Current Helper:       2367 i/100ms
        New Helper:           5382 i/100ms
    -------------------------------------------------
        Current Helper:     29506.0 (±3.2%) i/s -     149121 in   5.059294s
        New Helper:         78815.5 (±4.1%) i/s -     398268 in   5.062161s
    
    It also has the added benefit of fixing the edge cases described above.
    
    Fixes #13349
Commits on Jan 4, 2014
  1. Merge pull request #13590 from kuldeepaggarwal/fix-date-helper-doc

    rafaelfranca committed Jan 4, 2014
    provide correct example of `datetime_select` helper [ci skip]
  2. Add preview_path to autoload_paths in after_initialize

    pixeltrix committed Jan 4, 2014
    Only config.autoload_paths is frozen, so add the preview_path
    to ActiveSupport::Dependencies.autoload_paths directly in an
    after_initialize block. Also protect against a blank preview_path
    being added to autoload_paths which can cause a serious slowdown
    as Dir[] tries to load all *_preview.rb files under /
    
    Fixes #13372
  3. Merge pull request #13587 from kud86/change_truncate_examples

    robin850 committed Jan 4, 2014
    Fixed truncate documentation. [ci skip]
  4. Fixed documentation. [ci skip]

    kud86 committed Jan 4, 2014
  5. Fix mergefail in changelog

    jonleighton committed Jan 4, 2014
    The line was duplicated
Commits on Jan 3, 2014
  1. Merge pull request #13584 from tjschuck/cannot_cannot_be_can_not

    fxn committed Jan 3, 2014
    Change all "can not"s to the correct "cannot"
  2. Merge pull request #13583 from arthurnn/mem_cache_store_fix

    guilleiguaran committed Jan 3, 2014
    mem_cache_store requires dalli, so only accept dalli/client
  3. Raise if MemCacheStore doenst receive a Dalli obj

    arthurnn committed Jan 3, 2014
    :mem_cache_store should receive a list of hosts or a dalli client,
    otherwise raise it.
    Also adding a changelog.
  4. Minor typo fix [ci skip]

    robin850 committed Jan 3, 2014
  5. Merge pull request #10134 from derikson/collection_proxy_select_with_…

    rafaelfranca committed Jan 3, 2014
    …multiple_args
    
    Change CollectionProxy#select to take the same arguments as ActiveRecord::select
  6. mem_cache_store requires dalli, so only accept dalli/client

    arthurnn committed Jan 3, 2014
    :mem_cache_store require dalli, rescue Dalli exceptions, and follow Dalli API.
    Memcached gem, for instance, doesnt work anymore, as the API are different.
    
    As we already require one client, we should make sure that client works, and not accept others, and if someone wants to use another memcache client they can write their own store adapter.
  7. Merge pull request #13579 from prathamesh-sonpatki/issue-13552

    rafaelfranca committed Jan 3, 2014
    Fix documentation for end_year option of date_helper [ci skip]
  8. Whitespace [ci skip]

    rafaelfranca committed Jan 3, 2014
  9. Building new records with enum scopes now works as expected

    chancancode committed Jan 3, 2014
    Previously, this would give an `ArgumentError`:
    
       class Issue < ActiveRecord::Base
         enum :status, [:open, :finished]
       end
    
       Issue.open.build # => ArgumentError: '0' is not a valid status
       Issue.open.create # => ArgumentError: '0' is not a valid status
    
    PR #13542 muted the error, but the issue remains. This commit fixes
    the issue by allowing the enum value to be written directly via the
    setter:
    
       Issue.new.status = 0 # This now sets status to :open
    
    Assigning a value directly via the setter like this is not part of the
    documented public API, so users should not rely on this behavior.
    
    Closes #13530.
  10. Fix documentation for end_year option of date_helper [ci skip]

    prathamesh-sonpatki committed Jan 2, 2014
    - While editing an existing record, end_year is equal to current selected year plus 5 by default.
    - While editing an existing record, start_year is equal to current selected year value minus 5 by default.
    - Fixes #13552
    
    Acked-by: Prathamesh Sonpatki <csonpatki@gmail.com>
    
    Acked-by: Prathamesh Sonpatki <csonpatki@gmail.com>
  11. Deprecate unused `symbolized_base_class` and `symbolized_sti_name`.

    senny committed Jan 3, 2014
    These methods were only used for the `IdentityMap` which was removed.
    They are no longer used internally and should be removed without replacement.
    
    As they were not `:nodoc:`'ed it's better to deprecate them before removal.
Commits on Jan 2, 2014
  1. Merge pull request #13578 from schneems/schneems/database_url-env-def…

    rafaelfranca committed Jan 2, 2014
    …ault
    
    Use DATABASE_URL by default
  2. Use DATABASE_URL by default

    schneems committed Jan 2, 2014
    See rails#13463 (comment) for full conversation.
  3. Merge pull request #13573 from kuldeepaggarwal/doc-fix-default-values

    rafaelfranca committed Jan 2, 2014
    provide correct information [ci skip]
  4. Merge pull request #13528 from jonleighton/maintain_test_schema

    jonleighton committed Jan 2, 2014
    Automatically maintain test database schema
  5. Automatically maintain test database schema

    jonleighton committed Dec 29, 2013
    * Move check from generated helper to test_help.rb, so that all
      applications can benefit
    * Rather than just raising when the test schema has pending migrations,
      try to load in the schema and only raise if there are pending
      migrations afterwards
    * Opt out of the check by setting
      config.active_record.maintain_test_schema = false
    * Deprecate db:test:* tasks. The test helper is now fully responsible
      for maintaining the test schema, so we don't need rake tasks for this.
      This is also a speed improvement since we're no longer reloading the
      test database on every call to "rake test".
  6. Reverse 821525e and wrap run_generator call

    pixeltrix committed Jan 2, 2014
    Ruby 2.1.0 includes the json gem 1.8.1 by default so we need bundler 1.5.1
    for `bundle install` to work. To fix this reverse the downgrade to 1.3.5
    and wrap the `run_generator` call with a block that resets `THOR_DEBUG`.
  7. Adding missing require

    rafaelfranca committed Jan 2, 2014