| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
since cb012467214f6e4bb1ac3987554bb75020b4796b, generated job inherents from ApplicationJob,
ApplicationJob is required in the mountable engine.
|
|\
| |
| | |
Standardize `ActionController::Parameters#to_unsafe_h` return value
|
|/
|
|
|
|
| |
`ActionController::Parameters#to_h` returns a hash, so lets have
`ActionController::Parameters#to_unsafe_h` return a hash instead of
an `ActiveSupport::HashWithIndifferentAccess` for consistency.
|
|\
| |
| | |
Deprecate force association reload by passing true
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is to simplify the association API, as you can call `reload` on the
association proxy or the parent object to get the same result.
For collection association, you can call `#reload` on association proxy
to force a reload:
@user.posts.reload # Instead of @user.posts(true)
For singular association, you can call `#reload` on the parent object to
clear its association cache then call the association method:
@user.reload.profile # Instead of @user.profile(true)
Passing a truthy argument to force association to reload will be removed
in Rails 5.1.
|
|\ \
| |/
|/| |
Make AC::Parameters not inherited from Hash
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is another take at #14384 as we decided to wait until `master` is
targeting Rails 5.0. This commit is implementation-complete, as it
guarantees that all the public methods on the hash-inherited Parameters
are still working (based on test case). We can decide to follow-up later
if we want to remove some methods out from Parameters.
|
|\ \
| |/
|/| |
Revert "Revert "Reduce allocations when running AR callbacks.""
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit bdc1d329d4eea823d07cf010064bd19c07099ff3.
Before:
Calculating -------------------------------------
22.000 i/100ms
-------------------------------------------------
229.700 (± 0.4%) i/s - 1.166k
Total Allocated Object: 9939
After:
Calculating -------------------------------------
24.000 i/100ms
-------------------------------------------------
246.443 (± 0.8%) i/s - 1.248k
Total Allocated Object: 7939
```
begin
require 'bundler/inline'
rescue LoadError => e
$stderr.puts 'Bundler version 1.10 or later is required. Please update your Bundler'
raise e
end
gemfile(true) do
source 'https://rubygems.org'
# gem 'rails', github: 'rails/rails', ref: 'bdc1d329d4eea823d07cf010064bd19c07099ff3'
gem 'rails', github: 'rails/rails', ref: 'd2876141d08341ec67cf6a11a073d1acfb920de7'
gem 'arel', github: 'rails/arel'
gem 'sqlite3'
gem 'benchmark-ips'
end
require 'active_record'
require 'benchmark/ips'
ActiveRecord::Base.establish_connection('sqlite3::memory:')
ActiveRecord::Migration.verbose = false
ActiveRecord::Schema.define do
create_table :users, force: true do |t|
t.string :name, :email
t.boolean :admin
t.timestamps null: false
end
end
class User < ActiveRecord::Base
default_scope { where(admin: true) }
end
admin = true
1000.times do
attributes = {
name: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
email: "foobar@email.com",
admin: admin
}
User.create!(attributes)
admin = !admin
end
GC.disable
Benchmark.ips(5, 3) do |x|
x.report { User.all.to_a }
end
key =
if RUBY_VERSION < '2.2'
:total_allocated_object
else
:total_allocated_objects
end
before = GC.stat[key]
User.all.to_a
after = GC.stat[key]
puts "Total Allocated Object: #{after - before}"
```
|
|\ \
| | |
| | | |
[ci skip] add note for individual stub creation
|
|/ / |
|
| |
| |
| |
| | |
Rack [already implements `redirect?` on the response object](https://github.com/rack/rack/blob/1569a985e17d9caaf94d0e97d95ef642c4ab14ba/lib/rack/response.rb#L141) so we don't need to implement our own.
|
| | |
|
| |
| |
| |
| | |
It is already on Active Support
|
|\ \
| | |
| | | |
Replace `ActiveSupport::Concurrency::Latch` with `Concurrent::CountDownLatch` from concurrent-ruby.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The concurrent-ruby gem is a toolset containing many concurrency
utilities. Many of these utilities include runtime-specific
optimizations when possible. Rather than clutter the Rails codebase with
concurrency utilities separate from the core task, such tools can be
superseded by similar tools in the more specialized gem. This commit
replaces `ActiveSupport::Concurrency::Latch` with
`Concurrent::CountDownLatch`, which is functionally equivalent.
|
|\ \ \
| | | |
| | | | |
Change AC::TestResponse to AD::TestResponse
|
| | | |
| | | |
| | | |
| | | |
| | | | |
ActionController::TestResponse was removed in d9fe10c and caused a test
failure on Action View as its test case still refers to it.
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
We want to treat the response object as if it's a real response object
(not a test object), so we should only call methods that are on the
superclass.
|
|\ \ \
| | | |
| | | | |
make test runner work correctly inside engine
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We shouldn't depend on specific methods imlemented in the TestResponse
subclass because the response could actually be a real response object.
In the future, we should either push the aliased predicate methods in
TestResponse up to the real response object, or remove them
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
[ci skip] docs: making clear that perform_caching has a limited impact
|
| | | | | |
|
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This will save Travis some precious resource since it will not need to
run 18 jobs for these Ruby implementations on every push or pull
request.
We do care about these implementations but we should fix the build
locally before having it running on travis. We would love to have
someone working on this but right now it is not our reality.
|
|\ \ \ \
| |_|/ /
|/| | | |
fix typo in caching guide [ci skip]
|
|/ / / |
|
|\ \ \
| |_|/
|/| | |
Removed usage line docs [ci skip]
|
| | | |
|
|\ \ \ |
|
| | | | |
|
| | | | |
|
|/ / / |
|
|\ \ \ |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Removes unnecessary comments from i18n validations tests [ci skip]
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
These comments do not add a lot to the readability, grepability or
overall understanding of the tests, therefore I believe they can be
safely removed.
|
|\ \ \ \
| | | | |
| | | | | |
fix class name typo [ci skip]
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
mcfiredrill/contributing-to-rails-bugs-arent-fixes
[ci skip] change sentence about reporting bugs in contributing guide
|
| | | | | |
|
| | | | | |
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
I think I know what this sentence is trying to say, but the sentence
didn't really make sense, bugs don't fix things! How about this take on
it? :sweat_smile:
|
|\ \ \ \
| | | | |
| | | | | |
Improve duplicable documentation [ci skip]
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
Remove the reference to mocha in activemodel
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
Activemodel is no longer dependent on mocha, so we can make the comments
more generic.
|