Skip to content
This repository

Feb 26, 2013

  1. Charles Jones

    Fix deletion of empty directories:

    1. When comparing the directory to delete against the top level
       cache_path, use File.realpath to make sure we aren't comparing two
       unequal strings that point to the same path. This occurs, for
       example, when cache_path has a trailing slash, which it does in the
       default Rails configuration. Since the input to
       delete_empty_directories never has a trailing slash, the comparison
       will never be true and the top level cache directory (and above) may
       be deleted. However…
    2. File.delete raises EPERM when trying to delete a directory, so no
       directories have ever been deleted. Changing the code to Dir.delete
       fixes that.
    authored February 18, 2013

Dec 01, 2012

  1. Uriel Katz

    Patched Marshal#load to work with constant autoloading (active_suppor…

    …t/dependecies.rb) (issue #8167)
    authored November 17, 2012

Aug 05, 2012

  1. Xavier Noria

    removes usage of Object#in? from the code base (the method remains de…

    …fined by Active Support)
    Selecting which key extensions to include in active_support/rails
    made apparent the systematic usage of Object#in? in the code base.
    After some discussion in
    we decided to remove it and use plain Ruby, which seems enough
    for this particular idiom.
    In this commit the refactor has been made case by case. Sometimes
    include? is the natural alternative, others a simple || is the
    way you actually spell the condition in your head, others a case
    statement seems more appropriate. I have chosen the one I liked
    the most in each case.
    authored August 06, 2012

May 22, 2012

  1. Michael Koziarski

    Merge pull request #5125 from winston/log_exception_when_cache_read_f…

    #read_entry in ActiveSupport::Cache::FileStore should log details of the exception when an exception is thrown
    authored May 21, 2012

May 12, 2012

  1. Santiago Pastorino

    Remove wrong rack/utils dependency from AS

    Closes #6274
    authored May 12, 2012

May 03, 2012

  1. Aaron Patterson

    Merge pull request #4452 from tapajos/e5425c8f68fbb720fcbf4b14e1f154a…

    Fix cache (FileStore) clear to keep .gitkeep.
    authored May 03, 2012

Mar 31, 2012

  1. Aaron Patterson

    Merge pull request #4911 from Floppy/master

    Reduce FILENAME_MAX_SIZE in ActiveSupport::Cache::FileStore
    authored March 30, 2012

Feb 22, 2012

  1. Winston

    #read_entry in ActiveSupport::Cache::FileStore should log details of …

    …the exception when an exception is thrown.
    authored February 22, 2012

Feb 21, 2012

  1. Issei Naruta

    Bug: cache_path.size doesn't return length of filename but size of fi…

    …le if cache_path is Pathname.
    authored February 21, 2012

Feb 06, 2012

  1. James Smith

    Change FILENAME_MAX_SIZE in FileStore to 228.

    In order that temp filenames generated from it will fit in 255 chars. See #4907
    authored February 06, 2012

Jan 13, 2012

  1. Marcos Tapajós

    Cache (FileStore) clear should keep .gitkeep

    authored January 13, 2012

Nov 13, 2011

  1. Cheah Chu Yeow

    Fix "in memory" where it should be "in-memory".

    authored November 13, 2011

Nov 11, 2011

  1. Vijay Dev

    Revert "Fix "in memory" where it should be "in-memory"."

    This reverts commit e34e4d4.
    Reason: code changes are not allowed in docrails.
    authored November 11, 2011
  2. Cheah Chu Yeow

    Fix "in memory" where it should be "in-memory".

    authored November 11, 2011

Oct 30, 2011

  1. Toshinori Kajihara

    Refactor ActiveSupport::Cache::FileStore. used method and deleted dup…

    …licate code.
    authored October 30, 2011

Sep 30, 2011

  1. Philippe Huibonhoa

    Added fix so that file store does not raise an exception when cache d…

    …ir does not exist yet. This can happen if a delete_matched is called before anything is saved in the cache.
    authored September 29, 2011

Sep 22, 2011

  1. Santiago Pastorino

    No need to create a range object

    authored September 22, 2011
  2. Philippe Huibonhoa

    Fixed issue in file store where it could create a filename that was t…

    …oo long for the file system. (#3072)
    authored September 21, 2011

Jul 23, 2011

  1. Gonzalo

    Fix ActiveSupport::Cache::FileStore#file_path_key does not work if in…

    …itialized with Pathname
    Port from 3-1-stable
    authored July 23, 2011

May 25, 2011

  1. Josh Kalderimis

    Removed deprecated methods and related tests from ActiveSupport

    authored May 25, 2011

Apr 18, 2011

  1. Arun Agrawal

    File should be open in read/write mode. When doing lock on a file.

    authored April 18, 2011 tenderlove committed April 18, 2011

Apr 13, 2011

  1. Prem Sichanugrist

    Remove `#among?` from Active Support

    After a long list of discussion about the performance problem from using varargs and the reason that we can't find a great pair for it, it would be best to remove support for it for now.
    It will come back if we can find a good pair for it. For now, Bon Voyage, `#among?`.
    authored April 13, 2011 dhh committed April 13, 2011

Apr 11, 2011

  1. David Heinemeier Hansson

    Change Object#either? to Object#among? -- thanks to @jamesarosen for …

    …the suggestion!
    authored April 12, 2011

Apr 10, 2011

  1. Prem Sichanugrist

    Using Object#in? and Object#either? in various places

    There're a lot of places in Rails source code which make a lot of sense to switching to Object#in? or Object#either? instead of using [].include?.
    authored April 11, 2011 dhh committed April 11, 2011

Nov 07, 2010

  1. Denis Odorcic

    Fix FileStore cache incorrectly regenerating its key from a pathname …

    …when a regexp is used in expire_fragment
    [#5850 state:committed]
    Signed-off-by: Santiago Pastorino <>
    authored October 23, 2010 spastorino committed November 07, 2010

Jun 13, 2010

  1. Santiago Pastorino

    require conversions to use String#ord

    authored June 12, 2010 wycats committed June 12, 2010

Apr 27, 2010

  1. ActiveSupport::Cache refactoring

    All Caches
    * Add default options to initializer that will be sent to all read, write, fetch, exist?, increment, and decrement
    * Add support for the :expires_in option to fetch and write for all caches. Cache entries are stored with the create timestamp and a ttl so that expiration can be handled independently of the implementation.
    * Add support for a :namespace option. This can be used to set a global prefix for cache entries.
    * Deprecate expand_cache_key on ActiveSupport::Cache and move it to ActionController::Caching and ActionDispatch::Http::Cache since the logic in the method used some Rails specific environment variables and was only used by ActionPack classes. Not very DRY but there didn't seem to be a good shared spot and ActiveSupport really shouldn't be Rails specific.
    * Add support for :race_condition_ttl to fetch. This setting can prevent race conditions on fetch calls where several processes try to regenerate a recently expired entry at once.
    * Add support for :compress option to fetch and write which will compress any data over a configurable threshold.
    * Nil values can now be stored in the cache and are distinct from cache misses for fetch.
    * Easier API to create new implementations. Just need to implement the methods read_entry, write_entry, and delete_entry instead of overwriting existing methods.
    * Since all cache implementations support storing objects, update the docs to state that ActiveCache::Cache::Store implementations should store objects. Keys, however, must be strings since some implementations require that.
    * Increase test coverage.
    * Document methods which are provided as convenience but which may not be universally available.
    * MemoryStore can now safely be used as the cache for single server sites.
    * Make thread safe so that the default cache implementation used by Rails is thread safe. The overhead is minimal and it is still the fastest store available.
    * Provide :size initialization option indicating the maximum size of the cache in memory (defaults to 32Mb).
    * Add prune logic that removes the least recently used cache entries to keep the cache size from exceeding the max.
    * Deprecated SynchronizedMemoryStore since it isn't needed anymore.
    * Escape key values so they will work as file names on all file systems, be consistent, and case sensitive
    * Use a hash algorithm to segment the cache into sub directories so that a large cache doesn't exceed file system limits.
    * FileStore can be slow so implement the LocalCache strategy to cache reads for the duration of a request.
    * Add cleanup method to keep the disk from filling up with expired entries.
    * Fix increment and decrement to use file system locks so they are consistent between processes.
    * Support all keys. Previously keys with spaces in them would fail
    * Deprecate CompressedMemCacheStore since it isn't needed anymore (use :compress => true)
    [#4452 state:committed]
    Signed-off-by: Jeremy Kemper <>
    authored April 21, 2010 jeremy committed April 27, 2010

Sep 20, 2009

  1. José Valim

    Instrumenting cache stores.

    authored September 20, 2009

Jun 21, 2009

  1. Pratik

    Add expiry support File cache store [#1693 state:resolved] [Roman Sht…

    …erenzon, Pratik Naik]
    authored June 21, 2009

Mar 29, 2009

  1. Jeremy Kemper

    Fix require

    authored March 29, 2009
  2. Jeremy Kemper

    Explicit File#atomic_write dependency

    authored March 29, 2009

Nov 01, 2008

  1. Pratik

    Merge with docrails

    authored November 02, 2008

Oct 17, 2008

  1. Doug Barth

    Fix cache counter semantics for MemoryCache, FileStoreCache, and (pre…

    …sumably) the DRbStore.
    Signed-off-by: Michael Koziarski <>
    authored October 09, 2008 NZKoz committed October 17, 2008

Sep 09, 2008

  1. Jeremy Kemper

    Fix indentation mismatch

    authored September 08, 2008

Aug 19, 2008

  1. Joshua Peek

    Consistently use the framework's configured logger and avoid revertin…

    …g to RAILS_DEFAULT_LOGGER unless necessary.
    authored August 18, 2008
Something went wrong with that request. Please try again.