| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since precision is always larger than scale, it can actually change
rounding behavior. Given a precision of 5 and a scale of 3, when you
apply the precision of 5 to `1.25047`, the result is `1.2505`, which
when the scale is applied would be `1.251` instead of the expected
`1.250`.
This issue appears to only occur with floats, as scale doesn't apply to
other numeric types, and the bigdecimal constructor actually ignores
precision entirely when working with strings. There's no way we could
handle this for the "unknown object which responds to `to_d`" case, as
we can't assume an interface for applying the scale.
Fixes #24235
|
|\
| |
| | |
Move sequence value methods to Model level
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`prefetch_primary_key?` and `next_sequence_value` methods live in the
connection level at the moment, that make sense when you are generating
the sequence from the database, in the same connection. Which is the use
case today at the Oracle and Postgres adapters.
However if you have an service that generates IDs, that has nothing to
do with the database connection, and should not be fetched from there.
Another use case, is if you want to use another connection to fetch IDs,
that would not be possible with the current implementation, however when
we move those methods to the model level, you can use a new connection
there.
Also this makes easier for gems to add behavior on those methods.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a proc is given as a default value, the form builder ends up
displaying `Proc#to_s` when the default is used. That's because we
didn't handle the proc until type casting. This issue technically can
occur any time that a proc is the value before type casting, but in
reality the only place that will occur is when a proc default is
provided through the attributes API, so the best place to handle this
edge case is there.
I've opted to memoize instead of just moving the `Proc#call` up, as this
made me realize that it could potentially interact very poorly with
dirty checking.
The code here is a little redundant, but I don't want to rely on how
`value_before_type_cast` is implemented in the super class, even if it's
just an `attr_reader`.
Fixes #24249
Close #24306
|
|\ \
| | |
| | | |
Make 'migrate' clear the schema cache afterward
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Without clearing the caches afterward, removals done in migrations would
not be reflected in a separate task in the same process. That is, given
a table with a migration to remove a column, the schema cache would
still reflect that a table has that in something such as the
'db:seed' task:
`rake db:migrate db:seed`
(A common thing to do in a script for a project ala `bin/setup`)
vs
`rake db:migrate && rake db:seed`
(Two processes)
The first would not reflect that the column was removed.
The second would (cache reset).
|
|/ / |
|
|\ \
| | |
| | | |
Fix a tip in Active Record time attributes deprecation
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
I have hit this deprecation in a newly created Rails 5 application and
the suggested tip lead me to a `NoMethodError`.
It's not trivial to actually make the following work, because of the
ActiveRecord::Base class attributes setting dance in the Active Record
railtie.
config.active_record.time_zone_aware_types << :time
Decided to suggest setting it explicitly to the values we need.
[ci skip]
|
|\ \ \
| | | |
| | | | |
Use Range#cover? for Date inclusion validator
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | | |
Added missing custom context validation documentation
|
|/ / / |
|
|\ \ \
| |/ /
|/| | |
Change for `ActiveRecord::Migration.[]` to raise `ArgumentError` inst…
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
`RuntimeError`
The error is raised because user passed invalid version number to a public api of
`ActiveRecord`, so `ArgumentError` is more suitable.
And add a test case checking if an error is raised when unknown migration version
is passed, because these test cases are not implemented.
|
|\ \
| |/
|/| |
Correctly generate application_mailer.rb in mountable engines
|
| |
| |
| |
| | |
- Followup of https://github.com/rails/rails/pull/24161.
|
|\ \
| | |
| | | |
fixed spelling in the mattr_reader documentation
|
| | |
| | |
| | | |
mattr_writer to mattr_reader
|
| | |
| | |
| | | |
renamed cattr_reader to mattr_reader
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
jeremy/implicit-render-raises-on-browser-GET-requests-only
Are you missing that template or did you omit it on purpose?
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
purpose?" heuristics
Narrows the "are you in a browser, viewing the page?" check to exclude
non-GET requests. Allows content-less APIs to use implicit responses
without having to set a fake request format.
This will need further attention. If you forget to redirect from a POST
to a GET, you'll get a 204 No Content response that browsers will
typically treat as… do nothing. It'll seem like the form just didn't
work and knowing where to start debugging is non-obvious.
On the flip side, redirecting from POST and others is the default, done
everywhere, so it's less likely to be removed or otherwise missed.
Alternatives are to do more explicit browser sniffing.
Ref #23827.
|
|\ \ \ \
| | | | |
| | | | | |
Cable: Gracefully handle disconnected clients
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We'll get `Errno::ECONNRESET` if the client forcibly disconnected.
Just close the socket rather than raising the exception.
Handle other errors in `ClientSocket#write`, too, mirroring the Faye
error handling which swallows all `StandardError` on write.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
kamipo/append_sql_mode_instead_of_overwriting_in_strict_mode
Append sql_mode instead of overwriting in strict mode
|
| | |_|_|/
| |/| | |
| | | | |
| | | | | |
For keep the default SQL mode.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Remove reference to unmaintained plugin/gem in Security guide
|
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
[restful-authentication](https://rubygems.org/gems/restful-authentication/versions/1.2.1) hasn't been updated since
September 6th, 2012 so it might not be a great idea to recommend that Rails users try it out.
Devise seems like a much more popular and secure solution that automatically resets sessions on sign in and out
so it's a great example in this case.
/cc @tenderlove @josevalim
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Bugfix: ActionCable not loaded when generating plugin without ActiveRecord
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When generating a plugin without ActiveRecord (-O),
ActionCable wasn't include, which causes problems with the
require action_cable statement in cable.js
add active_job require statement
also updated order of require statements to match with all.rb
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Didn't feel we were clear enough about our motivation for placing Rails first
and why we needed to call `load_plugins`.
|
| | | |
| | | |
| | | |
| | | | |
The useless explicit self calls were driving me nuts.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When calling `load_plugins` minitest would fill out its extensions, then
we'd tackle ourselves on as the last plugin. Because minitest loads plugins
in order we will ultimately have the last say on what reporters will be used.
Invert that strategy by putting ourselves first and give other plugins plenty
of leeway to override our default reporter setup.
Fixes #24179.
|
|\ \ \ \
| | | | |
| | | | | |
Use || instead of `or` in bin/(update|setup) tpl as preferred by rails code convention
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix WebSocket already open log message typo
|
| |/ / / / |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Fix typo for redirect_back (docs)
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
indetical -> identical
[skip ci]
|
|\ \ \ \
| | | | |
| | | | | |
Fixed abrupt start of sentence in changelog [ci skip]
|
|/ / / /
| | | |
| | | |
| | | | |
[ci skip]
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[ci skip]
Sync AV, AR, AJ, AS, AM changelogs with our 5.0 release notes draft.
This is a follow up to c94045d and contains changes made since the
release of beta1.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[ci skip]
This updates the 5.0 release notes guide to reflect changes that
happened after beta1 has been released.
I'll sync the other changelogs later today but I'll push this batch to
prevent against cumbersome merge conflicts.
|
|\ \ \ \
| | | | |
| | | | | |
Require enumerable module when using #sum
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
In https://github.com/rails/rails/commit/dfa48f200cbc5c1ca18457a8cde14642e12af5,
a call to `#sum` was added. For that to always work, we need to require the
core_ext/enumerable module.
|
|\ \ \ \
| | | | |
| | | | | |
update Active Job default adapter [ci skip]
|
| | |/ /
| |/| |
| | | |
| | | | |
Follow up to 625baa69d14881ac49ba2e5c7d9cac4b222d7022
|
|\ \ \ \
| | | | |
| | | | | |
Cable: add isolated tests and FAYE=1 test runs
|
| | | | | |
|