| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
`copy_time_to` is a helper function for date and time calculations.
It's being used by `prev_week`, `next_week` and `prev_weekday` to keep
the time fraction when jumping around between days.
Previously the nanoseconds part was lost during the operation. This
lead to problems in practice if you were using the `end_of_day`
calculation. Resulting in the time fraction of `end_of_day` not being
the same as next week's `end_of_day`.
With this fix `copy_time_to` doesn't forget the `nsec` digits.
|
|\
| |
| | |
update doc about `change_column_default` [ci skip]
|
|/
|
|
| |
Follow up to #20018.
|
|\
| |
| | |
[ci skip] Fix typo in Guides: Contributing
|
|/ |
|
| |
|
|\
| |
| | |
Bump bundler version in the before_install hook of travis
|
|/
|
|
|
|
|
|
| |
- We were running into issues with old bundler versions on 4.2
builds. So we bumped the bundler version on 4-2-stable branch in
https://github.com/rails/rails/pull/26592.
- This commit applies same change to master as per discussion in
https://github.com/rails/rails/pull/26592#issuecomment-254026755.
|
|\
| |
| | |
Allow any key in Renderer environment hash
|
| |
| |
| |
| |
| |
| | |
When rendering arbitrary templates, it is helpful to not overwrite `env` keys with nil if they don't match any found in the `RACK_KEY_TRANSLATION`
This allows the developer to set the environment to exactly what is needed for rendering.
|
| |
| |
| |
| | |
[ci skip]
|
|\ \
| | |
| | | |
Make `process` a non-private method and update documentation.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
rutaka-n/raise_record_not_found_with_correct_params
initialize errors with name of class and other params
|
| | | | |
|
| |/ /
|/| |
| | |
| | |
| | |
| | | |
* Clarify the default behavior of log_formatter
Updates language to remove reference to production.rb and fix quoting
|
|\ \ \
| | | |
| | | | |
Introduce a benchmark template
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This replaces boilerplate in the “benchmark your code” section of the
contributors’ guide with an executable template. I also amended the text
to encourage best practices and codified it in the template.
For now this is only good for relatively self-contained changes that can
be inlined into a simple script. In the future, this can be expanded to
cover how to measure the difference between two commits.
The output looks like this:
```
==================================== Empty =====================================
Warming up --------------------------------------
blank? 225.963k i/100ms
fast_blank? 238.147k i/100ms
Calculating -------------------------------------
blank? 8.825M (± 6.4%) i/s - 44.063M in 5.014824s
fast_blank? 9.311M (± 6.3%) i/s - 46.439M in 5.009153s
Comparison:
fast_blank?: 9310694.8 i/s
blank?: 8824801.7 i/s - same-ish: difference falls within error
================================= Single Space =================================
Warming up --------------------------------------
blank? 56.581k i/100ms
fast_blank? 232.774k i/100ms
Calculating -------------------------------------
blank? 813.985k (±16.7%) i/s - 4.017M in 5.076576s
fast_blank? 9.547M (± 5.2%) i/s - 47.719M in 5.013204s
Comparison:
fast_blank?: 9547414.0 i/s
blank?: 813985.0 i/s - 11.73x slower
================================== Two Spaces ==================================
Warming up --------------------------------------
blank? 58.265k i/100ms
fast_blank? 244.056k i/100ms
Calculating -------------------------------------
blank? 823.343k (±16.2%) i/s - 4.020M in 5.014213s
fast_blank? 9.484M (± 4.9%) i/s - 47.347M in 5.005339s
Comparison:
fast_blank?: 9484021.6 i/s
blank?: 823343.1 i/s - 11.52x slower
=============================== Mixed Whitspaces ===============================
Warming up --------------------------------------
blank? 53.919k i/100ms
fast_blank? 237.103k i/100ms
Calculating -------------------------------------
blank? 763.435k (±16.8%) i/s - 3.720M in 5.018029s
fast_blank? 9.672M (± 5.8%) i/s - 48.369M in 5.019356s
Comparison:
fast_blank?: 9672467.2 i/s
blank?: 763435.4 i/s - 12.67x slower
=============================== Very Long String ===============================
Warming up --------------------------------------
blank? 34.037k i/100ms
fast_blank? 240.366k i/100ms
Calculating -------------------------------------
blank? 409.731k (± 8.9%) i/s - 2.042M in 5.028235s
fast_blank? 9.794M (± 4.3%) i/s - 49.035M in 5.016328s
Comparison:
fast_blank?: 9794225.2 i/s
blank?: 409731.4 i/s - 23.90x slower
```
|
|\ \ \
| | | |
| | | | |
Quote table name properly
|
| | |/
| |/|
| | |
| | | |
If does not quote table name properly, invalid SQL is generated.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Support index.length for MySQL 8.0.0-dmr
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
MySQL 8.0.0-dmr `SUB_PART` column of `information_schema.statistics`
changed to varbinary(12), which is bigint(3) in MySQL 5.6.
Addresses #26774
|
|\ \ \
| | | |
| | | | |
Use built-in #transform_values when available.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The methods Hash#transform_values and Hash#transform_values! have been
implemented in Ruby and they'll be available as part of the standard
library.
Here's the link to the discussion in Ruby's issue tracker:
https://bugs.ruby-lang.org/issues/12512
These methods are implemented in C so they're expected to perform
better.
|
|\ \ \
| |/ /
|/| | |
add missing closing tag [ci skip]
|
|/ / |
|
|\ \
| | |
| | | |
Clarify default adapter in ActionCable guide [ci skip]
|
| | | |
|
|/ /
| |
| | |
The default adapter in development & test environments is not `redis` but `async`.
|
|\ \
| | |
| | | |
Docs: `tag` only accept attribute names as symbols
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ci skip]
See https://github.com/rails/rails/issues/26518#issuecomment-252826489
@dhh:
> I'd support symbol-only keys going forward with these new APIs.
> We can break with the past here since the tag proxy is new and so is form_with.
|
|\ \ \
| | | |
| | | | |
[ci skip] fix typo in Actionpack Changelog
|
|/ / / |
|
|\ \ \
| |/ /
|/| | |
Fix `warning: ambiguous first argument`
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
```
test/cases/adapters/postgresql/case_insensitive_test.rb:12: warning: ambiguous first argument; put parentheses or a space even after `/' operator
test/cases/adapters/postgresql/case_insensitive_test.rb:16: warning: ambiguous first argument; put parentheses or a space even after `/' operator
test/cases/adapters/postgresql/case_insensitive_test.rb:20: warning: ambiguous first argument; put parentheses or a space even after `/' operator
test/cases/adapters/postgresql/case_insensitive_test.rb:24: warning: ambiguous first argument; put parentheses or a space even after `/' operator
```
|
|\ \
| | |
| | | |
Set target ruby version for rubocop to 2.2 instead 2.3.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change will help to catch ruby 2.3+ syntax in code base. Right now, minimal ruby version set to 2.2.2 in gemspecs.
Rubocop output before:
$ rubocop
Inspecting 2133 files
.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................CC.........................................................................................................................................................................................................................................................
Offenses:
activerecord/test/cases/schema_dumper_test.rb:454:32: C: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
output = dump_table_schema('infinity_defaults')
^^^^^^^^^^^^^^^^^^^
guides/bug_report_templates/active_record_migrations_gem.rb:65:4: C: Final newline missing.
end
guides/bug_report_templates/active_record_migrations_master.rb:64:4: C: Final newline missing.
end
2133 files inspected, 3 offenses detected
$
After:
$ rubocop
Inspecting 2133 files
.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................CC.........................................................................................................................................................................................................................................................
Offenses:
activerecord/test/cases/schema_dumper_test.rb:454:32: C: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
output = dump_table_schema('infinity_defaults')
^^^^^^^^^^^^^^^^^^^
guides/bug_report_templates/active_record_migrations_gem.rb:65:4: C: Final newline missing.
end
guides/bug_report_templates/active_record_migrations_master.rb:64:4: C: Final newline missing.
end
2133 files inspected, 3 offenses detected
$
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* ActionController::Parameters#deep_dup
* Tests for ActionController::Parameters#deep_dup
* Fix test for ActionController::Parameters#deep_dup
* More tests for ActionController::Parameters#deep_dup
[Rafael Mendonça França + Pavel Evstigneev]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
WebSocket always defers the decision to the server, because it didn't
have to deal with legacy compatibility... but the same-origin policy is
still a reasonable default.
Origin checks do not protect against a directly connecting attacker --
they can lie about their host, but can also lie about their origin.
Origin checks protect against a connection from 3rd-party controlled
script in a context where a victim browser's cookies will be passed
along. And if an attacker has breached that protection, they've already
compromised the HTTP session, so treating the WebSocket connection in
the same way seems reasonable.
In case this logic proves incorrect (or anyone just wants to be more
paranoid), we retain a config option to disable it.
|
|\ \
| | |
| | |
| | | |
Optionally allow ActionCable requests from the same host as origin
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the `allow_same_origin_as_host` is set to `true`, the request
forgery protection permits `HTTP_ORIGIN` values starting with the
corresponding `proto://` prefix followed by `HTTP_HOST`. This way
it is not required to specify the list of allowed URLs.
|
|\ \ \
| | | |
| | | |
| | | | |
Fix case insensitive check for text column in pg
|
| | | |
| | | |
| | | |
| | | | |
There's no 'text to text' casting in the cast table so the feature detection fails.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Extract `format_colspec` to format column spec
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
remove unused require `benchmark`
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
`Benchmark` was removed at 4215e9a
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
Add top level license
|