| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
https://github.com/rails/rails/commit/5ea6b0df9a36d033f21b52049426257a4637028d
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.
|
|\
| |
| | |
#read_entry in ActiveSupport::Cache::FileStore should log details of the exception when an exception is thrown
|
| |
| |
| |
| | |
exception when an exception is thrown.
|
| |
| |
| |
| | |
Closes #6274
|
| | |
|
|\ \
| | |
| | | |
Fix cache (FileStore) clear to keep .gitkeep.
|
| | | |
|
|\ \ \
| |_|/
|/| | |
Reduce FILENAME_MAX_SIZE in ActiveSupport::Cache::FileStore
|
| |/
| |
| |
| | |
In order that temp filenames generated from it will fit in 255 chars. See https://github.com/rails/rails/issues/4907
|
| |
| |
| |
| | |
cache_path is Pathname.
|
|/ |
|
| |
|
|
|
|
| |
actually caching for development and test environments.
|
| |
|
|
|
|
|
|
| |
This reverts commit e34e4d43301618307f94123d3710f094297f91f3.
Reason: code changes are not allowed in docrails.
|
| |
|
| |
|
|
|
|
| |
code.
|
|
|
|
| |
not exist yet. This can happen if a delete_matched is called before anything is saved in the cache.
|
| |
|
|
|
|
| |
for the file system. (https://github.com/rails/rails/issues/3072)
|
|
|
|
|
|
| |
initialized with Pathname
Port from 3-1-stable
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Character encoding issues with MemCacheStore in 1.9.2
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
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?`.
|
| |
| |
| |
| | |
suggestion!
|
|/
|
|
| |
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?.
|
| |
|
|
|
|
| |
posing for pictures.
|
|
|
|
|
|
|
|
| |
regexp is used in expire_fragment
[#5850 state:committed]
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[#5539 state:committed]
Commit 57144388f removed the hard-coded dependency on the memcache-client
gem, and added this warning advising people to install it if needed. The
problem is, however, that if people follow the advice literally and install
the 'memcache' gem, they will wind up with a completely different thing,
which is not API compatible with the memcache-client gem and which Rails
can't work with.
So, be explicit and tell users to install the 'memcache-client' gem.
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
|
| |
|
|
|
|
| |
's/[ \t]*$//' -i {} \;)
|
| |
|
|
|
|
|
|
| |
getbyte that was already added as a Ruby < 1.9 core_ext
Signed-off-by: José Valim <jose.valim@gmail.com>
|
|
|
|
|
|
|
|
| |
state:resolved]
As of this writing the JRuby client does not support a default port.
Signed-off-by: Xavier Noria <fxn@hashref.com>
|
|\ |
|
| | |
|
|/ |
|
|
|
|
| |
Signed-off-by: José Valim <jose.valim@gmail.com>
|
|
|
|
| |
initializing the application on its own. This fixes [#4492 state:resolved] and also avoids the application being initialized twice in some rake tasks.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
* 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.
FileStore
* 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.
MemCacheStore
* 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 <jeremy@bitsweat.net>
|
| |
|
|
|
|
| |
Signed-off-by: José Valim <jose.valim@gmail.com>
|