| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Conflicts:
activesupport/test/callbacks_test.rb
|
|
|
|
| |
::Base64.decode64 not ::Base64.encode64
|
|
|
|
| |
ActiveSupport::TaggedLogging::ERROR
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At least Ruby 1.8.7 is required which is ok since 3.2.
Benchmark:
```ruby
require "benchmark"
enum = 1..10_000
N = 100
Benchmark.bm do |x|
x.report "inject block" do
N.times do
enum.inject { |sum, n| sum + n }
end
end
x.report "inject symbol" do
N.times do
enum.inject(:+)
end
end
end
```
Result:
```
user system total real
inject block 0.160000 0.000000 0.160000 ( 0.179723)
inject symbol 0.090000 0.000000 0.090000 ( 0.095667)
```
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Runners are used internally.
This reverts commit 40c8aa706adbb60ff9d289016fb9020d48969fea.
|
|
|
|
| |
use correct variant of checking whether class is a singleton
|
| |
|
|
|
|
|
| |
Extracted `__reset_runner` from `__define_runner`
And call it in proper places
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
extend and define ::Base64 if needed
|
|\
| |
| | |
3 2 stable marshalling
|
| | |
|
| |
| |
| |
| | |
operator
|
| |
| |
| |
| |
| |
| | |
Conflicts:
activesupport/lib/active_support/core_ext/range/include_range.rb
|
|/ |
|
|
|
|
|
| |
This reverts commit df3701872d6c97ff49943aea30761b47e60fa9fe, reversing
changes made to a0fd9fb01730af12d66a27b5665cc010bd3b90b4.
|
|
|
|
|
|
| |
This reverts commit 520918aad9b84eee807eb42fcb32f57c152d50e0.
Reason: build failure
|
|\
| |
| | |
3.2 stable marshalling
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
| |
collect(&:method) *DHH*"
This reverts commit 4d20de8a50d889a09e6f5642984775fe796ca943.
|
| |
|
|\
| |
| | |
Fix expanding cache key for single element arrays
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In short:
expand_cache_key(element) should not equal expand_cache_key([element])
This way a fragment cache key for an index page with only a single
element in the collection is different than a fragment cache for a
typical show page for that element.
|
|\ \
| | |
| | | |
missing require in buffered logger
|
| | | |
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
Add ActiveSupport::Cache::NullStore for testing and development
|
| | |
| | |
| | |
| | | |
actually caching for development and test environments.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This can be turned off by setting `config.reload_classes_only_on_change` to false.
Extensions like Active Record should add their respective files like db/schema.rb and db/structure.sql to `config.watchable_files` if they want their changes to affect classes reloading.
Thanks to https://github.com/paneq/active_reload and Pastorino for the inspiration. <3
|
| | | |
|
|/ / |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
length user system total real
before 6 0.010000 0.000000 0.010000 ( 0.012378)
after 6 0.010000 0.000000 0.010000 ( 0.012866)
before 60 0.040000 0.000000 0.040000 ( 0.046273)
after 60 0.040000 0.000000 0.040000 ( 0.036421)
before 600 0.390000 0.000000 0.390000 ( 0.390670)
after 600 0.210000 0.000000 0.210000 ( 0.209094)
before 6000 3.750000 0.000000 3.750000 ( 3.751008)
after 6000 1.860000 0.000000 1.860000 ( 1.857901)
|
| |
| |
| |
| | |
to return self.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
logs for a certain block, change the log level for that block.
* ActiveSupport::BufferedLogger#open_log is deprecated. This method should
not have been public in the first place.
* ActiveSupport::BufferedLogger's behavior of automatically creating the
directory for your log file is deprecated. Please make sure to create the
directory for your log file before instantiating.
* ActiveSupport::BufferedLogger#auto_flushing is deprecated. Either set the
sync level on the underlying file handle like this:
f = File.open('foo.log', 'w')
f.sync = true
ActiveSupport::BufferedLogger.new f
Or tune your filesystem. The FS cache is now what controls flushing.
* ActiveSupport::BufferedLogger#flush is deprecated. Set sync on your
filehandle, or tune your filesystem.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Removing this feature causes boost in performance when using Ruby 1.9.
Ruby 1.9 started to do implicit conversions using `to_ary` and `to_str`
in some STDLIB methods (like Array#join). To do such implicit conversions,
Ruby 1.9 always dispatches the method and rescues the NoMethodError exception
in case one is raised.
Therefore, since the whiners feature defined NilClass#method_missing, such
implicit conversions for nil became much, much slower. In fact, just defining
NilClass#method_missing (even without the whiners feature) already causes a
massive slow down. Here is a snippet that shows such slow down:
require "benchmark"
Benchmark.realtime { 1_000.times { [nil,nil,nil].join } }
class NilClass
def method_missing(*args)
raise NoMethodError
end
end
Benchmark.realtime { 1_000.times { [nil,nil,nil].join } }
|