aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/CHANGELOG.md
Commit message (Collapse)AuthorAgeFilesLines
* Ensure all-caps nested consts marked as autoloadedSimon Coffey2013-08-271-0/+5
| | | | | | | | | | | | Previously, an autoloaded constant `HTML::SomeClass` would not be marked as autoloaded by AS::Dependencies. This is because the `#loadable_constants_for_path` method uses `String#camelize` on the inferred file path, which in turn means that, unless otherwise directed, AS::Dependencies watches for loaded constants in the `Html` namespace. By passing the original qualified constant name to `#load_or_require`, this inference step is avoided, and the new constant is picked up in the correct namespace.
* Add String#remove(pattern) as a short-hand for the common pattern of ↵David Heinemeier Hansson2013-08-131-0/+4
| | | | String#gsub(pattern, '')
* renames the :abort deprecation behaviour to :raiseXavier Noria2013-08-131-2/+2
| | | | That is a better name, thanks @jeremy.
* fixes typo in CHANGELOGXavier Noria2013-08-131-1/+1
|
* defines a new :abort deprecation behaviour that raisesXavier Noria2013-08-131-0/+12
| | | | See the CHANGELONG message in the patch for further details.
* Add CHANGELOG entry for inflection removalAndrew White2013-07-301-0/+4
|
* Fix handling of offsets with Time#to_s(:iso8601)Andrew White2013-07-291-1/+5
| | | | | | Use a lambda to ensure that the generated string respects the offset of the time value. Also add DateTime#to_s(:iso8601) and Date#to_s(:iso8601) for completeness.
* Add Time#to_s(:iso8601) for easy conversion of times to the iso8601 format ↵David Heinemeier Hansson2013-07-281-0/+4
| | | | for easy Javascript date parsing
* Move #11546 changelog to the top [ci skip]Carlos Antonio da Silva2013-07-221-13/+13
|
* [Fixes #11512] improves cache size calculation in ↵Simeon Simeonov2013-07-221-0/+13
| | | | | | | | | | | | | | | | | | | | | ActiveSupport::Cache::MemoryStore Previously, the cache size of `ActiveSupport::Cache::MemoryStore` was calculated as the sum of the size of its entries, ignoring the size of keys and any data structure overhead. This could lead to the calculated cache size sometimes being 10-100x smaller than the memory used, e.g., in the case of small values. The size of a key/entry pair is now calculated via `#cached_size`: def cached_size(key, entry) key.to_s.bytesize + entry.size + PER_ENTRY_OVERHEAD end The value of `PER_ENTRY_OVERHEAD` is 240 bytes based on an [empirical estimation](https://gist.github.com/ssimeonov/6047200) for 64-bit MRI on 1.9.3 and 2.0. Fixes GH#11512 https://github.com/rails/rails/issues/11512
* Only raise DelegationError if it's is the source of the exceptionAndrew White2013-07-111-0/+6
| | | | | | | | | This fixes situations where nested NoMethodError exceptions are masked by delegations. This would cause confusion especially where there was a problem in the Rails booting process because of a delegation in the routes reloading code. Fixes #10559
* Return local time for backwards compatibilityAndrew White2013-07-091-1/+1
|
* Retain UTC offset when using Time.at_with_coercionAndrew White2013-07-091-0/+6
| | | | | | | | | | The standard Ruby behavior for Time.at is to return the same type of time when passing an instance of Time as a single argument. Since the an ActiveSupport::TimeWithZone instance may be a different timezone than the system timezone and DateTime just understands offsets the best we can do is to return an instance of Time with the correct offset. Fixes #11350.
* Make HashWithIndifferentAccess#select always return the hash.Marc Schütz2013-07-061-0/+5
| | | | | Hash#select! returns nil if the hash didn't change and thus behaves differently from select, so it's return value can't be used as result for the latter.
* Revert "remove string based terminators for `ActiveSupport::Callbacks`."Yves Senn2013-07-051-4/+0
| | | | | | | | This reverts commit d108672dada7ba97d3b3b56f0c6001cea621061e. Conflicts: activesupport/CHANGELOG.md
* fix typo in Active Support CHANGELOG. [ci skip]Yves Senn2013-07-051-1/+1
|
* remove string based terminators for `ActiveSupport::Callbacks`.Yves Senn2013-07-051-0/+4
|
* Remove deprecated `String#encoding_aware?` Arun Agrawal2013-07-031-0/+4
| | | core extensions (`core_ext/string/encoding`).
* Remove deprecated `Module#local_constant_names` Arun Agrawal2013-07-031-0/+4
| | | in favor of `Module#local_constants`
* Remove deprecated `DateTime.local_offset`Arun Agrawal2013-07-031-0/+4
|
* Remove deprecated Logger core extensions (core_ext/logger.rb)Carlos Antonio da Silva2013-07-031-0/+4
|
* Merge pull request #11265 from vipulnsward/deprecated_time_methodsYves Senn2013-07-031-0/+5
|\ | | | | Remove deprecated `Time` methods
| * Remove deprecated `Time#time_with_datetime_fallback`, `Time#utc_time`Vipul A M2013-07-031-0/+5
| | | | | | | | and `Time#local_time` in favour of `Time#utc` and `Time#local`
* | use American English: "favor" not "favour" [ci skip]Yves Senn2013-07-031-1/+1
|/ | | | according to http://guides.rubyonrails.org/api_documentation_guidelines.html#english
* Remove deprecated Hash#diff with no replacement.Carlos Antonio da Silva2013-07-021-0/+7
| | | | | If you're using it to compare hashes for the purpose of testing, please use MiniTest's assert_equal instead.
* Remove deprecated `Date#to_time_in_current_zone`Vipul A M2013-07-021-0/+4
|
* Remove deprecated `Proc#bind` with no replacement.Carlos Antonio da Silva2013-07-011-0/+4
|
* Remove deprecated Array#uniq_by and Array#uniq_by!Carlos Antonio da Silva2013-07-011-0/+5
| | | | Use native Array#uniq and Array#uniq! instead.
* Remove deprecated AS::BasicObject, use AS::ProxyObject insteadCarlos Antonio da Silva2013-07-011-0/+4
|
* remove deprecated `BufferedLogger`.Yves Senn2013-07-011-0/+4
|
* remove deprecated `assert_present` and `assert_blank`.Yves Senn2013-07-011-0/+4
|
* Fix BacktraceCleaner#noise for multiple silencers.Mark J. Titorenko2013-06-201-0/+7
| | | | | | | | | | | | | | The previous implementation of BacktraceSilencer#noise did not work correctly if more than one silencer was configured -- specifically, it would only return noise which was matched by all silencers. The new implementation is such that anything that has been matched by silencers is removed from the backtrace using Array#- (array difference), ie. we now return all elements within a backtrace that have been matched by any silencer (and are thus removed by #silence). Fixes #11030.
* Fix AS changelog [ci skip]Carlos Antonio da Silva2013-06-141-1/+1
|
* Add CHANGELOG entry for #10740Rafael Mendonça França2013-06-141-0/+9
| | | | [ci skip]
* Keep sub-second resolution when wrapping a DateTime valueAndrew White2013-06-131-0/+6
| | | | | | | Add `DateTime#usec` and `DateTime#nsec` so that `ActiveSupport::TimeWithZone` keeps sub-second resolution when wrapping a `DateTime` value. Fixes #10855
* Don't blindly call blame_file! on exceptions in ↵Andrew Kreiling2013-06-091-0/+5
| | | | | | | | | | | | ActiveSupport::Dependencies::Loadable It is possible under some environments to receive an Exception that is not extended with Blamable (e.g. JRuby). ActiveSupport::Dependencies::Loadable#load_dependency blindly call blame_file! on the exception which throws it's own NoMethodError exception and hides the original Exception. This commit fixes #9521
* Override Time.at to work with Time-like valuesAndrew White2013-06-081-0/+4
| | | | | | | Time.at allows passing a single Time argument which is then converted to an integer. The conversion code since 1.9.3r429 explicitly checks for an instance of Time so we need to override it to allow DateTime and ActiveSupport::TimeWithZone values.
* Prevent side effects in `Hash#with_indifferent_access`.Yves Senn2013-05-291-0/+6
|
* Raise when multiple included blocks are definedMike Dillon2013-05-161-0/+6
|
* Fix typo: require -> requiresRafael Mendonça França2013-05-121-1/+1
| | | | [ci skip]
* Add CHANGELOG entry for #10576Rafael Mendonça França2013-05-121-0/+7
| | | | [ci skip]
* Give credits to all the envolved people [ci skip]Rafael Mendonça França2013-05-101-1/+1
|
* Added escaping of U+2028 and U+2029 inside the json encoder.Mario Caropreso2013-05-091-0/+6
| | | | | | | | | | | U+2028 and U+2029 are allowed inside strings in JSON (as all literal Unicode characters) but JavaScript defines them as newline seperators. Because no literal newlines are allowed in a string, this causes a ParseError in the browser. We work around this issue by replacing them with the escaped version. The resulting JSON is still valid and can be parsed in the browser. This commit has been coauthored with Viktor Kelemen @yikulju
* add changelog entry for fix-10502-skip-object-filterSean Walbran2013-05-071-0/+5
|
* Allow fetching multiple values from the cache at onceDaniel Schierbeck2013-05-061-1/+13
| | | | | Add a simple API for fetching a list of entries from the cache, where any missing entries are computed by a supplied block.
* rails/master is now 4.1.0.betaRafael Mendonça França2013-04-291-509/+2
|
* Move CHANGELOG entry to topRafael Mendonça França2013-04-221-4/+4
| | | | [ci skip]
* Merge pull request #10096 from benofsky/fix_skipping_object_callback_filtersRafael Mendonça França2013-04-211-0/+3
|\ | | | | Fixes skipping object callback filters
| * Fixes skipping object callback filtersBen McRedmond2013-04-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows you to skip callbacks that are defined by objects, e.g. for `ActionController`: skip_after_filter MySpecialFilter Previously this didn't work due to a bug in how Rails compared callbacks in `Callback#matches?`. When a callback is compiled, if it's an object filter (i.e. not a method, proc, etc.), `Callback` now defines a method on `@klass` that is derived from the class name rather than `@callback_id`. So, when `skip_callback` tries to find the appropriate callback to remove, `Callback` can regenerate the method name for the filter object and return the correct value for `Callback#matches?`.
* | Extract a base class from ActiveSupport::LogSubscriberDaniel Schierbeck2013-04-161-0/+6
| | | | | | | | | | | | Adds a ActiveSupport::Subscriber base class that LogSubscriber inherits from. By inheriting from Subscriber, other kinds of subscribers can take advantage of the event attachment system.