| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
document `try!` in ActiveSupport core ext guide
|
|/ / / / / / /
| | | | | | |
| | | | | | | |
https://twitter.com/avdi/status/660141673993777156
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Don’t allow arbitrary data in back urls
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
`link_to :back` creates a link to whatever was
passed in via the referer header. If an attacker
can alter the referer header, that would create
a cross-site scripting vulnerability on every
page that uses `link_to :back`
This commit restricts the back URL to valid
non-javascript URLs.
https://github.com/rails/rails/issues/14444
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Update docs/comments to use setup/teardown blocks vs. methods. [ci skip]
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* Remove super for setup block. Not needed.
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | | |
As discussed in the minitest-spec-rails issue (http://git.io/vlHxx) Rails uses setup/teardown callbacks. Defining `setup` or `teardown` methods vs. blocks will yield inconsistent behavior in the callback chain.
|
| |/ / / / /
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Columns are no longer stored in an attribute since b8a533d.
[ci skip]
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
we can just reuse the parent process. We should figure out what files
are commonly required among the test files and try to require them in
the parent so that the require time cost is amortized across the
processes.
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When a frame is an eval block without filename argument there is no
absolute_path so the previous implementation would fail because `nil`
doesn't responds to `start_with?`.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
yuki24/deprecate-original-exception-infavor-of-cause
Deprecate exception#original_exception in favor of exception#cause
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Add test_float_limits to mysql2
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This test case was definded by 51de8cee82d61541725ff4c2462b083f37e64017.
`float` and `double` is registered in abstract_mysql_adapter.rb,
we should test not only for mysql adapter, but mysql2 adapter.
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
added missing instructions for `rack-cors`
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | | |
`config.middleware.insert_before` changes require to restart the server
Also added missing `.` at the EOL.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Make `db:migrate:status` to render `1_some.rb` format migrate files.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
`1_valid_people_have_last_names.rb` and
`20150823202140_create_users.rb` are valid migration file name.
But `1_valid_people_have_last_names.rb` is rendered as
`********** NO FILE **********` when `rake db:migrate:status`.
Fix to this bug, this commit includes
* define some API private methdos and a Constant
`match_to_migration_filename?`, `parse_migration_filename`, and
`MigrationFilenameRegexp`
* use these methods in `db:migrate:status` task
Example:
These files are in `db/migrate`
* 1_valid_people_have_last_names.rb
* 20150819202140_irreversible_migration.rb
* 20150823202140_add_admin_flag_to_users.rb
* 20150823202141_migration_tests.rb
* 2_we_need_reminders.rb
* 3_innocent_jointable.rb
we can migrate all of them.
Before
```shell
$ bundle exec rake db:migrate:status
...
Status Migration ID Migration Name
--------------------------------------------------
up 001 ********** NO FILE **********
up 002 ********** NO FILE **********
up 003 ********** NO FILE **********
up 20150819202140 Irreversible migration
up 20150823202140 Add admin flag to users
up 20150823202141 Migration tests
```
After
```shell
$ bundle exec rake db:migrate:status
...
Status Migration ID Migration Name
--------------------------------------------------
up 001 Valid people have last names
up 002 We need reminders
up 003 Innocent jointable
up 20150819202140 Irreversible migration
up 20150823202140 Add admin flag to users
up 20150823202141 Migration tests
```
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Fix test_database_created_by_root of mysql
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
`DEFAULT_CHARSET` and `DEFAULT_COLLATION` in `MySQLDatabaseTasks`
was changed by 322068fe85278ea26e26da6dfd7c5612dab15a72.
This test case also should be changed.
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
[ci skip] querying guide methods first and last: mentioning the influence of the default scope
|
| | |_|/ /
| |/| | |
| | | | |
| | | | | |
the default scope
|
|\ \ \ \ \
| | | | | |
| | | | | | |
remove unnecessary `.sass-cache` from plugin's gitignore template
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Since the sass cache is output to the `tmp/cache/sass`.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Define `sanitize_sql_for_order` for AR and use it inside `preprocess_…
|
|/ / / / /
| | | | |
| | | | |
| | | | | |
This commit follows up of 6a6dbb4c51fb0c58ba1a810eaa552774167b758a.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
Allow bigint with default nil for avoiding auto increment primary key
|
|/ / / / /
| | | | |
| | | | |
| | | | | |
Such as #10404, #18206.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Remove `DEFAULT_CHARSET` and `DEFAULT_COLLATION`
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This reverts commit f6ca7e4e75408bc42f515fc7206d6c6ff0dce7c6.
The default collation of utf8 in MySQL is the `utf8_general_ci`, and
this should not be changed. This is because, the better collation in the
all locales is not exists, optimal collation in own application is not
known other than themselves.
The `utf8_unicode_ci` is known as Japanese killer in Japan, there are
serious impacts in search of Japanese.
MySQL implements the `utf8_unicode_ci` according to the Unicode
Collation Algorithm (UCA) described at http://www.unicode.org/reports/tr10/,
but the `utf8_unicode_ci` have only partial support for the UCA, only
primary level key comparison implemented (also known as L1 (Base
characters) comparison).
Because L1 (Base characters) comparison does not distinguish between the
presence or absence of the accent, if distinction of the accent is
important there is a serious impact (e.g. Japanese).
Example:
```
> SHOW CREATE TABLE `dicts`\G
*************************** 1. row ***************************
Table: dicts
Create Table: CREATE TABLE `dicts` (
`word` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`meaning` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
1 row in set (0.00 sec)
> INSERT INTO `dicts` VALUES ('ハハ', 'mother'), ('パパ', 'father');
Query OK, 2 rows affected (0.00 sec)
> SELECT * FROM `dicts` WHERE `word` = 'ハハ';
+--------+---------+
| word | meaning |
+--------+---------+
| ハハ | mother |
| パパ | father |
+--------+---------+
2 rows in set (0.00 sec)
> CREATE UNIQUE INDEX `unique_index_word` ON `dicts`(`word`);
ERROR 1062 (23000): Duplicate entry 'ハハ' for key 'unique_index_word'
```
We should omit the collation entirely rather than providing a default.
Then the choice is the responsibility of the server and MySQL distribution.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
Add CHANGELOG entry for #22125 [ci skip]
|
|/ / / / / |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Move some AR test cases to inheritance_test.rb
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These methods are defined in inheritance.rb
* `abstract_class?`
* `descends_from_active_record?`
* `compute_type`
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Update changelog for #22122
|
|/ / / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix double word 'string' [ci skip]
|
|/ / / / / |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Route generator should be idempotent
|
| | | | | |
|
|\ \ \ \ \ |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | | |
It improves readability of docs
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
https://github.com/rails/rails/commit/e768c519fb6015e00961702a5165c6dab548a954 bang version produces `KeyError` [ci skip]
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This reverts commit efbd62f0c5c927a08e860b318b7bb561b2602a98.
Right now Eastern Time zone is on daylight saving, so the output in the
documentation is different but this doesn't mean that it is wrong.
Daylight savings only happen in 3 months in a year so it is better to
use the normal time zone in the documentation.
|