| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Allow configurable attribute name on `#has_secure_password`
|
| |
| |
| |
| |
| |
| |
| | |
This change now creates a method `#authenticate_XXX` where XXX is
the configured attribute name on `#has_secure_password`. `#authenticate`
is now an alias to this method when the attribute name is the default
'password'
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
existing `#has_secure_password`. This can be useful when one would
like to store some secure field as a digest, just like a password.
The method still defaults to `password`. It now also allows using the
same `#authenticate` method which now accepts a second argument for
specifying the attribute to be authenticated, or will default to 'password`.
A new method is also added for generating a new token for an attribute by
calling `#regenerate_XXXX` where `XXXX` is the attribute name.
|
|\ \
| | |
| | | |
Break guides menu 'Digging Deeper' section in two
|
| | |
| | |
| | |
| | |
| | |
| | | |
This list in the menu is currently long, and the order of the items not
immediately obvious. I often find my self rescanning to find what I'm
looking for, so I imagine that others do to.
|
|\ \ \
| |/ /
|/| | |
Fix ActionMailer assert_enqueued_email_with
|
|/ /
| |
| |
| |
| |
| | |
The documentation for assert_enqueued_email_with states that it's
supposed to work without a block yet it calls assert_enqueued_with
which doesn't check whether a block was passed before calling `yield`
|
|\ \
| | |
| | | |
Add tests for duration multiplication and division
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When multiplying or dividing a duration by a scalar, it's tempting to
operate directly on the duration's value in seconds and recompute the
parts from the result. However this loses information, as there are
multiple combinations of parts that map to any given number of seconds
(e.g. `2.weeks` or `336.hours`). This is especially problematic when
dealing with durations on the scale of months or years, as converting an
exact number of seconds to one of those intervals and then using the
resulting duration to modify a date will give the wrong result.
|
|\ \ \
| | | |
| | | | |
Autoload Activejob::Arguments
|
| | | | |
|
|/ / / |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Add changelog entry for allow passing multiple exceptions to
retry_on/discard_on (3110cae) [ci skip]
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
Since it is changes of the public API, it seems valuable to add a mention
about it to the changelog file.
Follow up 3110caecbebdad7300daaf26bfdff39efda99e25
|
|\ \ \
| | | |
| | | | |
Speed up homogeneous AR lists / reduce allocations
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Now that `allocate` is removed, we need to define attribute methods in
all "init" methods.
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* master:
Call initialize after allocate
Remove `ActiveSupport::Concern` from `ActiveRecord::Aggregations`
Add example for no_touching? in active_record/no_touching for api docs [ci skip]
Generate a new key for each service test
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit speeds up allocating homogeneous lists of AR objects. We
can know if the result set contains an STI column before initializing
every AR object, so this change pulls the "does this result set contain
an STI column?" test up, then uses a specialized instantiation function.
This way we only have to check for an STI column once rather than N
times.
This change also introduces a new initialization function that is meant
for use when allocating AR objects that come from the database. Doing
this allows us to eliminate one hash allocation per AR instance.
Here is a benchmark:
```ruby
require 'active_record'
require 'benchmark/ips'
ActiveRecord::Base.establish_connection adapter: "sqlite3", database: ":memory:"
ActiveRecord::Migration.verbose = false
ActiveRecord::Schema.define do
create_table :users, force: true do |t|
t.string :name
t.timestamps null: false
end
end
class User < ActiveRecord::Base; end
2000.times do
User.create!(name: "Gorby")
end
Benchmark.ips do |x|
x.report("find") do
User.limit(2000).to_a
end
end
```
Results:
Before:
```
[aaron@TC activerecord (master)]$ be ruby -I lib:~/git/allocation_tracer/lib speed.rb
Warming up --------------------------------------
find 5.000 i/100ms
Calculating -------------------------------------
find 56.192 (± 3.6%) i/s - 285.000 in 5.080940s
```
After:
```
[aaron@TC activerecord (homogeneous-allocation)]$ be ruby -I lib:~/git/allocation_tracer/lib speed.rb
Warming up --------------------------------------
find 7.000 i/100ms
Calculating -------------------------------------
find 72.204 (± 2.8%) i/s - 364.000 in 5.044592s
```
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Enable TESTOPTS in railties tests
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Unlike the other components' test suites, railties' currently
ignores such useful options as `"--verbose"` or `"--name"`.
This patch allows us to use them.
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Call initialize after allocate
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If someone calls allocate on the object, they'd better also call an
initialization routine too (you can't expect allocate to do any
initialization work). Before this commit, AR objects that are
instantiated from the database would call `define_attribute_methods`
twice.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
`include Aggregations` no longer needs to invoke
`extend Aggregations::ClassMethods` since 657060b.
|
|\ \ \ \
| | | | |
| | | | | |
Add example for no_touching? for api docs [ci skip]
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
There was no example code for ActiveRecord::NoTouching#no_touching?.
This PR adds an example for the API docs.
|
|/ / /
| | |
| | |
| | | |
Sidestep Google Cloud Storage's restrictive per-object rate limit.
|
|\ \ \
| | | |
| | | | |
Lazily add `Aggregations` to `composed_of` models
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`composed_of` is a fairly rare method to call on models. This commit
adds the `Aggregations` module to models that call `composed_of` so that
models that *don't* call `composed_of` don't need to instantiate the
`aggregation_cache` hash. This saves one hash allocation per model
instance that doesn't use `composed_of`
|
|/ / / |
|
| | |
| | |
| | |
| | | |
hash condition
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The "join" affix in `table_alias_for` was added 12 years ago at 02d3444
to address poor alias tracking.
`AssociationScope` no longer uses the "join" suffixed alias since
0408e21 and had been removed at a1ec8b5.
`table_alias_for` is the last place that using the useless legacy
suffixed alias, but we can't remove the suffix since some test cases
directly refers the alias name by `where` with string literal, so at
least removing the suffix would break our test cases.
(e.g. https://github.com/rails/rails/blob/b2eb1d1c55a59fee1e6c4cba7030d8ceb524267c/activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb#L699-L731).
|
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 691addbffad10aa249d5fb1b0e47b46a086e5332.
Reason: v10.5.0 has been released, and it seems that the issue is fixed.
Ref: https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V10.md#10.5.0
|
|\ \
| | |
| | |
| | |
| | | |
bogdanvlviv/change-rails_welcome-image-on-localhost3000
Changes Rails Welcome image on localhost:3000
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Note that I used https://www.base64-image.de/ in order to
convert the image to Base64 with enabled optimization status.
Closes #33181.
Closes #33186.
Follow up #32735.
|
| | |
| | |
| | |
| | | |
is specified
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Update service.rb
[ci skip]
|
|/ / / |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Update raabro to latest version
|
|/ / /
| | |
| | |
| | | |
[v 1.1.6](https://github.com/floraison/raabro/blob/master/CHANGELOG.md#raabro-116--released-2018-06-22) fixes a warning we see on [Rails CI](https://travis-ci.org/rails/rails/jobs/395177524#L3763).
|
| | |
| | |
| | |
| | | |
[Jon Moss & Xavier Noria]
|
|\ \ \
| |/ /
|/| | |
Active Storage: Explicit form field in basic example
|
|/ /
| |
| | |
Also fix syntax highlighting in the more advanced JS example.
|
|\ \
| | |
| | |
| | |
| | | |
bogdanvlviv/document-year_format-option-of-date_select
Add to docs mention about `:year_format` option of date select
|
|/ /
| |
| |
| |
| |
| | |
Follow up #32190
[ci skip]
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Update fugit to latest version
|
|/ /
| |
| |
| |
| |
| |
| | |
[fugit 1.1.3](https://github.com/floraison/fugit/commit/03a3ee86f3cd5d929442dd25896b99acbd151947)
fixes warnings that show up in ActiveJob tests.
See [CI](https://travis-ci.org/rails/rails/jobs/394107740#L3764-L3778).
|