| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Fix example code in ActiveJob::Core [ci skip]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1) It seems that it raise error on example code in `ActiveJob::Core`.
Before:
```ruby
class DeliverWebhookJob < ActiveJob::Base
def serialize
super.merge('attempt_number' => (@attempt_number || 0) + 1)
end
def deserialize(job_data)
super
@attempt_number = job_data['attempt_number']
end
rescue_from(Timeout::Error) do |exception|
raise exception if @attempt_number > 5
retry_job(wait: 10)
end
def perform
raise Timeout::Error
end
end
```
Then it run `DeliverWebhookJob.perform_now` in `rails console`. And raise error:
NoMethodError: undefined method `>' for nil:NilClass
from /app/jobs/deliver_webhook_job.rb:12:in `block in <class:DeliverWebhookJob>'
So I thought it's necessary to fix it.
After:
```ruby
class DeliverWebhookJob < ActiveJob::Base
attr_writer :attempt_number
def attempt_number
@attempt_number ||= 0
end
def serialize
super.merge('attempt_number' => attempt_number + 1)
end
def deserialize(job_data)
super
self.attempt_number = job_data['attempt_number']
end
rescue_from(Timeout::Error) do |exception|
raise exception if attempt_number > 5
retry_job(wait: 10)
end
def perform
raise Timeout::Error
end
end
```
Then it run `DeliverWebhookJob.perform_now` in `rails console`. And it does'nt raise error NoMethodError.
2) Use `Timeout::Error` instead of `TimeoutError` (`TimeoutError` is deprecated).
|
|/
|
| |
Use Object#deep_dup to safely duplicate policy values
|
|\
| |
| | |
Add tests for the `--webpack` option
|
| |
| |
| |
| |
| | |
We probably don't have any tests for the `--webpack` option.
related: #27288
|
| |
| |
| |
| |
| | |
`get_all_versions` doesn't use passed `connection`. So it should be
caught `NoDatabaseError` from `SchemaMigration.table_exists?`.
|
|\ \
| | |
| | | |
Update "Active Record Query Interface" guide [ci skip]
|
| | |
| | |
| | |
| | |
| | | |
- Add missing `LIMIT 1` for some queries
- Make some examples of query more readable
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
mikeycgto/actiondispatch-cookie-store-test-updates
Update cookie_store_test to use encrypted cookies
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This now modernizes these tests to use encrypted cookies instead of
using secret_token HMACs. This commit also adds a tests to ensure
session cookies with :expires_after set are invalidated and no longer
accepted when the time has elapsed.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
y-yagi/ignore_no_database_error_when_loading_schema_cache
Ignore `NoDatabaseError` when loading schema cache
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is necessary in order to make the processing dependent on
`Migrator.current_version` work even without database.
Context: https://github.com/rails/rails/pull/31135#issuecomment-348404326
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a regression since Rails 4.2.
SQLite3 integer is stored in 1, 2, 3, 4, 6, or 8 bytes depending on the
magnitude of the value. Assuming default valid value as 4 bytes caused
that actual valid value in INTEGER storage class cannot be stored and
existing value cannot be found.
https://www.sqlite.org/datatype3.html
We should allow valid value in INTEGER storage class in SQLite3 to fix
the regression.
Fixes #22594.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Actually SQLite3 doesn't have JSON storage class (so it is stored as a
TEXT like Date and Time). But emulating JSON types is convinient for
making database agnostic migrations.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If do not execute a type changing first, filling in default value may be
failed.
```
% ARCONN=postgresql be ruby -w -Itest test/cases/migration/compatibility_test.rb -n test_legacy_change_column_with_null_executes_update
Using postgresql
Run options: -n test_legacy_change_column_with_null_executes_update --seed 20459
E
Error:
ActiveRecord::Migration::CompatibilityTest#test_legacy_change_column_with_null_executes_update:
StandardError: An error has occurred, this and all later migrations canceled:
PG::StringDataRightTruncation: ERROR: value too long for type character varying(5)
: UPDATE "testings" SET "foo"='foobar' WHERE "foo" IS NULL
```
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix typo in test error message
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
With the current code, a failing test shows this error, which is missing
the number of times called and has two periods at the end.
```
/railties$ be ruby -Itest test/generators/app_generator_test.rb -n test_active_storage_install
Failure:
AppGeneratorTest#test_active_storage_install [test/generators/app_generator_test.rb:313]:
active_storage:install expected to be called once, but was called times..
Expected: 1
Actual: 2
```
After the fix, the error message looks correct:
```
/railties$ be ruby -Itest test/generators/app_generator_test.rb -n test_active_storage_install
Failure:
AppGeneratorTest#test_active_storage_install [test/generators/app_generator_test.rb:313]:
active_storage:install expected to be called once, but was called 2 times.
Expected: 1
Actual: 2
```
|
| | | | |
| | | | |
| | | | |
| | | | | |
`klass` has removed in 5358f2b67bd6fb12d708527a4a70dcab65513c5e.
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This test failed due to dirty schema cache. It is needed to call
`clear_cache!` when using same named table with different definition.
https://travis-ci.org/rails/rails/jobs/310627767#L769-L772
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`options_for_index_columns`
And placed `add_options_for_index_columns` in `schema_statements.rb`
consistently to ease to find related code.
|
| | | | |
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Extract sql fragment generators from PostgreSQL adapter
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
willnet/add-a-missing-space-before-closing-curly-braces
[ci skip] Add a missing space before closing curly braces
|
|/ / / / |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Add ability to create/validate invalid foreign keys in Postgres
|
| | | | |
| | | | |
| | | | |
| | | | | |
Add validate_constraint and update naming
|
|/ / / / |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
gregnavis/support-postgresql-operator-classes-in-indexes
Add support for PostgreSQL operator classes to add_index
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add support for specifying non-default operator classes in PostgreSQL
indexes. An example CREATE INDEX query that becomes possible is:
CREATE INDEX users_name ON users USING gist (name gist_trgm_ops);
Previously it was possible to specify the `gist` index but not the
custom operator class. The `add_index` call for the above query is:
add_index :users, :name, using: :gist, opclasses: {name: :gist_trgm_ops}
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Drop the before_fork/on_worker_boot advice
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It's no longer required for Active Record, and other common libraries
(dalli, redis-rb) all seem to be fork-proof too.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
making changes (#31306)
It makes more sense than ignoring invalid IDs.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
In 35836019, class level `update` and `destroy` suppressed
`RecordNotFound` to ensure returning affected objects. But
`RecordNotFound` is a common exception caught by a `rescue_from`
handler. So changing the behavior when a typical `params[:id]` is passed
has a compatibility problem. The previous behavior should not be
changed.
Fixes #31301.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Cosmetic changes for Gemfile [ci skip]
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
[ci skip] Updated links for unicorn which redirect & added https for n…
|
| |/ / / / / / |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Keep current Code Climate behavior before upgrade
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
If you merge these changes now (*before Monday, December 4th*), Code Climate will run the same analysis on Rails as it always has on your pull requests.
*If you do not merge these changes*, when Code Climate migrates Rails to our new analysis, Code Climate will continue to run Rubocop, but it will ALSO run Code Climate's new maintainability checks (https://codeclimate.com/blog/10-point-technical-debt-assessment).
You may want this ... you may not.
Just want to make sure you knew the quick option to disable them if it's a problem!
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Since this changes a default setting a changelog entry is important.
|