| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The default command prompt under Windows doesn't run binstubs correctly
while PowerShell needs to find the location of the Ruby interpreter for
it to work properly. Passing the binstubs manually to the interpreter
solves this problem.
|
|\ \ \
| |/ /
|/| | |
Add missing options to `datetime_select` [ci skip]
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will allow all types which require no additional handling to use
prepared statements. Specifically, this will allow for `true`, `false`,
`Date`, `Time`, and any custom PG type to use prepared statements. This
also revealed another source of nil columns in bind params, and an
inconsistency in their use.
The specific inconsistency comes from a nested query coming from a
through association, where one of the inversed associations is not
bi-directional.
The stop-gap is to simply construct the column at the site it is being
used. This should simply go away on its own once we use `Attribute` to
represent them instead, since we already have all of the information we
need.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is to help facilitate future refactorings, as the internal
representation is changed. I'm planning on having `where_values` return
an array that's computed on call, which means that mutation will have no
affect. This is the only remaining place that was mutating (tested by
replacing the method with calling `dup`)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Specifically, the issue is relying on `where_unscoping` mutating the
where values. It does not, however, mutate the bind values, which could
cause an error under certain circumstances. This was not exposed by the
tests, since the only place which would have been affected is unscoping
a boolean, which doesn't go through prepared statements. I had a hard
time getting better test coverage to demonstrate the issue.
This in turn, caused `merge` to go through proper logic, and try to
clear out the binds associated with the unscoped relation, which then
exposed a source of `nil` for the columns, as binds weren't expanding
`{ "posts.id" => 1 }` to `{ "posts" => { "id" => 1 } }`. This has been
fixed.
The bulk of `create_binds` needed to be moved to a separate method,
since the dot notation should not be expanded recursively.
I'm pretty sure this removes a subtle quirk that a ton of code in
`Relation::Merger` is working around, and I suspect that code can be
greatly simplified. However, unraveling that rats nest is no small task.
|
| | |
|
|\ \
| | |
| | | |
[ci skip] Fix what is pushed to nesting about eval family
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Fixed duplicating ActiveModel::Errors#details
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Use attribute assignment module logic during ActiveModel initialization.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
pretty_print will use #inspect if a subclass redefines it
|
| | | | |
|
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | |
| | | | |
Extracted attributes assingment from ActiveRecord to ActiveModel
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Minor style changes across the board. Changed an alias to an explicit
method declaration, since the alias will not be documented otherwise.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`ActiveModel::AttributesAssignment`
Allows to use it for any object as an includable module.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Given that this was originally added to normalize an error that would
have otherwise come from the database (inconsistently), it's more
natural for us to raise in `type_cast_for_database`, rather than
`type_cast_from_user`. This way, things like numericality validators can
handle it instead if the user chooses to do so. It also fixes an issue
where assigning an out of range value would make it impossible to assign
a new value later.
This fixes several vague issues, none of which were ever directly
reported, so I have no issue number to give. Places it was mentioned
which I can remember:
- https://github.com/thoughtbot/shoulda-matchers/blob/9ba21381d7caf045053a81f32df7de2f49687820/lib/shoulda/matchers/active_model/allow_value_matcher.rb#L261-L263
- https://github.com/rails/rails/issues/18653#issuecomment-71197026
|
| | | |
| | | |
| | | |
| | | | |
Fixes #18580.
|
| | | |
| | | |
| | | |
| | | | |
Fixes #18632
|
|\ \ \ \
| | | | |
| | | | | |
Use 'public_send' over the 'send' method for object's properties and public methods.
|
| |/ / / |
|
|/ / /
| | |
| | |
| | | |
skip]
|
|\ \ \
| | | |
| | | | |
Speed up ActionController::Renderer `normalize_keys` by ~28%.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously env was duplicated and then had it's keys mutated. This iterates through
the hash twice.
Using `transform_keys`, duplication and key mutation is a single iteration.
`convert_symbols` was renamed to `http_header_format`.
|
|\ \ \ \
| |/ / /
|/| | | |
fix wording of CSS manifest instructions [ci skip]
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Disable builds AR-JDBC against master
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently, bundling `activerecord-jdbc-adapter`'s master branch seems to
be broken. See jruby/activerecord-jdbc-adapter#614
This commit partially reverts #12107
|
|\ \ \ \
| | | | |
| | | | | |
fix regexp for validate an integer in guides [ci skip]
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
Remove config.assets
|
| | | | |
| | | | |
| | | | |
| | | | | |
Provided by sprockets-rails plugin
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
A shortcut to setup controller environment
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Render arbitrary templates outside of controller actions
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
To have an easier way to setup a controller
instance with custom environment
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add `ActionController::Metal#set_request!` to set a request
on controller instance without calling dispatch.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
BenMorganIO/use-two-spaces-instead-of-one-for-wrap-params
use two spaces instead of one for include root in json
|
| | |/ / /
| |/| | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Add :formats to options list of render documentation.
|
|/ / / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Keeping with our behavior elsewhere in the system, invalid input is
assumed to be `nil`.
Fixes #18629.
|
|\ \ \ \
| | | | |
| | | | | |
Add ActiveModel::Errors#codes
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
To be able to return type of validator, one can now call `details`
on Errors instance:
```ruby
class User < ActiveRecord::Base
validates :name, presence: true
end
```
```ruby
user = User.new; user.valid?; user.errors.details
=> {name: [{error: :blank}]}
```
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Replace `if exists` with `table_exists?` and drop table with `drop_table`
|