aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Support multiple versions arguments for `gem` method of GeneratorsYoshiyuki Hirano2017-08-193-9/+25
|
* Merge pull request #30308 from ↵Rafael França2017-08-181-7/+5
|\ | | | | | | | | DNNX/rm-pointless-flatten-and-compact-from-am-errors Simplify ActiveModel::Errors#generate_message
| * Simplify ActiveModel::Errors#generate_messageViktar Basharymau2017-08-181-7/+5
| | | | | | | | | | | | | | | | | | | | Besides making the code easier to read, this commit also makes it faster: * We don't eval `@base.class.respond_to?(:i18n_scope)` twice * We only eval `@base.class.i18n_scope` once * We don't call `flatten!` because it's not needed anymore * We don't call `compact` because all elements are Symbols
* | Merge pull request #30314 from yhirano55/use_https_instead_of_http_in_guideGeorge Claghorn2017-08-181-8/+8
|\ \ | | | | | | Use https instead of http or git in guide [ci skip]
| * | Use https instead of http or git in guide [ci skip]Yoshiyuki Hirano2017-08-191-8/+8
|/ / | | | | | | * Update url in Development Dependencies Install
* | Cleanup development_dependencies_install.mdJon Moss2017-08-181-14/+15
| | | | | | | | | | | | Lots of grammar cleanup, and also changing to use macOS. [ci skip]
* | Add Yarn installation instructions for Active StorageJon Moss2017-08-181-0/+40
| | | | | | | | | | | | | | | | This is a requirement when working on the JS portions of ASt. Using npm instead of Yarn is a bad idea here since the lockfile is in Yarn's format. [ci skip]
* | Merge pull request #30311 from maclover7/jm-rm-ccMatthew Draper2017-08-191-7/+0
|\ \ | | | | | | Remove Active Storage code climate config file
| * | Remove Active Storage code climate config fileJon Moss2017-08-181-7/+0
|/ / | | | | | | There's already a .codeclimate.yml file at the root of the project.
* | Improve `migration/column_attributes_test.rb` (#25286)Ryuta Kamizono2017-08-181-3/+17
| | | | | | | | | | * Test `test_unabstracted_database_dependent_types` for `PostgreSQLAdapter` * Add `test_change_column_with_new_precision_and_scale` for `SQLite3Adapter` * This test case and comment was lost at 28bb02a78fd47527bb7a208d01a4594bb212812c
* | Add deterministic sorting order for `test_taking_with_a_number`Ryuta Kamizono2017-08-181-1/+9
| | | | | | | | | | | | Otherwise random CI failure will be caused. https://travis-ci.org/rails/rails/jobs/265848046#L777
* | Restore the ability that SQL with binds for `insert`, `update`, and `delete` ↵Ryuta Kamizono2017-08-182-6/+38
| | | | | | | | | | | | | | | | (#29944) Since 213796f, it was lost the ability that SQL with binds for `insert`, `update`, and `delete` (like `select_all`). This restores the ability because `insert`, `update`, and `delete` are public API, so it should not be removed without deprecation.
* | Add test cases that class level `destroy`, `delete`, and `update` are ↵Ryuta Kamizono2017-08-181-3/+33
| | | | | | | | | | | | | | affected by scoping (#29997) I tried to change the expectation in #29976, but it is expected behavior at least for now. So I added the test cases to prevent anyone change the expectation.
* | Restore `to_sql` to return only SQL (#29945)Ryuta Kamizono2017-08-186-13/+15
| | | | | | | | Because `to_sql` is public API. I introduced `to_sql_and_binds` internal API to return SQL and binds.
* | Add test cases for `where.not` with polymorphic associationRyuta Kamizono2017-08-181-0/+19
| | | | | | | | | | | | | | | | | | | | | | `where.not` with multiple conditions is still unexpected behavior. But `where.not` with only polymorphic association has already been fixed in 213796fb. Closes #14161. Closes #16983. Closes #17010. Closes #26207.
* | Merge pull request #30274 from bogdanvlviv/dry-in-generators-testsRafael França2017-08-175-200/+118
|\ \ | | | | | | Move common tests to `SharedGeneratorTests`
| * | Move common tests from `AppGeneratorTest` and `PluginGeneratorTest` to ↵bogdanvlviv2017-08-175-200/+118
| | | | | | | | | | | | `SharedGeneratorTests`
* | | Merge pull request #30275 from msimonborg/deep_merge_patchRafael França2017-08-171-12/+6
|\ \ \ | | | | | | | | Faster and more readable implementation of Hash#deep_merge
| * | | faster implementation of Hash#deep_mergeM. Simon Borg2017-08-161-12/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add missing newline call #deep_merge instead of #dup.deep_merge! make variable and parameter naming more consistent change `_key` to `key` faster implementation of Hash#deep_merge
* | | | Add note about JSON/JSONB serialization changesJon Moss2017-08-171-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The initial commit (efaa6e4f79d457c2cdd08cbc56d63bc972a6993c) that changed this behavior was intended to be a minor change, but ended up becoming a large-ish breaking change within Active Record. This is because instead of only JSON encoding `Hash`es or `Array`s in `#serialize`, we now encode all values passed in. This is an issue if you're passing in a `String`, that has already been transformed from a `Hash` to a `String`, since your data is now being double encoded. Unfortunately, the change was included in one of the v5.0.0 beta releases, and it is too late to revert without huge ripple effects. Thus, all we can do is update the documentation (via this commit), and add some test coverage (coming soon in a PR) for the new behavior. Please note that in the documentation I talk about deserialization, not about serialization, where the actual change occurred. This is because you won't notice any changes in serialized data until you try and deserialize it. Also to make the change itself (confusing until you read through everything multiple times) easier to understand. Related #27788, #25594, #26101, #24234, #28292, #28285, #28285, and probably others. [ci skip]
* | | | Merge pull request #30199 from robin850/upgrade-sdocRafael França2017-08-172-4/+10
|\ \ \ \ | | | | | | | | | | Temporarily point to a fork of SDoc
| * | | | Temporarily point to a fork of SDocRobin Dupret2017-08-172-4/+10
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fork brings: * A tiny refresh of the default theme. * SEO tags to class files. * The removal of HTML tags from search results. * Some general template clean-up (HTML 5, removal of the jQuery effect library, etc.). * A speed up of the generation time (by ~30 seconds).
* | | | Merge pull request #30294 from ↵Ryuta Kamizono2017-08-181-11/+11
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | yahonda/move_test_index_is_created_for_both_timestamps_to_without_transaction Move `test_index_is_created_for_both_timestamps` to `TimestampsWithou…
| * | | | Move `test_index_is_created_for_both_timestamps` to ↵Yasuo Honda2017-08-171-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `TimestampsWithoutTransactionTest` This commit addresses these failures when the backend RDBMS executes implicit commit for DDL like MySQL and Oracle. ```ruby $ ARCONN=mysql2 bin/test test/cases/integration_test.rb test/cases/timestamp_test.rb --seed 58225 -n '/^(?:TimestampTest#(?:test_index_is_created_for_both_timestamps)|IntegrationTest#(?:test_cache_key_for_newer_updated_at|test_cache_key_format_for_existing_record_with_updated_at|test_cache_key_format_for_existing_record_with_updated_at_and_custom_cache_timestamp_format))$/' -v Using mysql2 Run options: --seed 58225 -n "/^(?:TimestampTest#(?:test_index_is_created_for_both_timestamps)|IntegrationTest#(?:test_cache_key_for_newer_updated_at|test_cache_key_format_for_existing_record_with_updated_at|test_cache_key_format_for_existing_record_with_updated_at_and_custom_cache_timestamp_format))$/" -v TimestampTest#test_index_is_created_for_both_timestamps = 0.19 s = . IntegrationTest#test_cache_key_format_for_existing_record_with_updated_at = 0.05 s = F IntegrationTest#test_cache_key_format_for_existing_record_with_updated_at_and_custom_cache_timestamp_format = 0.02 s = F IntegrationTest#test_cache_key_for_newer_updated_at = 0.01 s = F Finished in 0.272880s, 14.6585 runs/s, 14.6585 assertions/s. 1) Failure: IntegrationTest#test_cache_key_format_for_existing_record_with_updated_at [/home/yahonda/git/rails/activerecord/test/cases/integration_test.rb:111]: --- expected +++ actual @@ -1 +1 @@ -"developers/1-20170717135609430848" +"developers/1-20170817135609283207" 2) Failure: IntegrationTest#test_cache_key_format_for_existing_record_with_updated_at_and_custom_cache_timestamp_format [/home/yahonda/git/rails/activerecord/test/cases/integration_test.rb:116]: --- expected +++ actual @@ -1 +1 @@ -"cached_developers/1-20170717135609" +"cached_developers/1-20170817135609" 3) Failure: IntegrationTest#test_cache_key_for_newer_updated_at [/home/yahonda/git/rails/activerecord/test/cases/integration_test.rb:147]: --- expected +++ actual @@ -1 +1 @@ -"developers/1-20170717145609430848" +"developers/1-20170817135609283207" 4 runs, 4 assertions, 3 failures, 0 errors, 0 skips $ ``` `ActiveRecord::TestCase::TimestampTest#test_index_is_created_for_both_timestamps` calls`ActiveRecord::TestCase::TimestampTest#setup` which updates `updated_at` column value. ```ruby @developer = Developer.first ... snip ... @developer.update_columns(updated_at: Time.now.prev_month) ``` This transaction expected to be rolled back, but if the backend RDBMS like MySQL perfomes implicit commit when DDL executed, this transacion is committed by `create table` statement inside `ActiveRecord::TestCase::TimestampTest#test_index_is_created_for_both_timestamps`. It causes these failures above which expect `update_at` column value are not changed(rollbacked).
* | | | | Merge pull request #30292 from maclover7/jm-ast-purgeGeorge Claghorn2017-08-171-0/+7
|\ \ \ \ \ | | | | | | | | | | | | Add missing test for Blob#purge
| * | | | | Add missing test for Blob#purgeJon Moss2017-08-171-0/+7
| | | | | |
* | | | | | Merge pull request #30293 from maclover7/jm-ast-logsGeorge Claghorn2017-08-171-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Use nil Logger for tests
| * | | | | | Use nil Logger for testsJon Moss2017-08-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes tests much more quietly, as opposed to the enormous amount of logging that appears right now. This setting is used in AJ, as well as other frameworks. Output from test run: ``` ......................................................... Finished in 3.003355s, 18.9788 runs/s, 45.2827 assertions/s. 57 runs, 136 assertions, 0 failures, 0 errors, 0 skips ```
* | | | | | | Merge pull request #30295 from ohbarye/follow_up_to_28058Jon Moss2017-08-171-1/+1
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | Remove obsolete explanation about passing string to `:if` and `:unless` [ci skip]
| * | | | | | Remove obsolete explanationohbarye2017-08-171-1/+1
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | about passing string to `:if` and `:unless`. This is a follow up to https://github.com/rails/rails/pull/28058 [ci skip]
* / | | | | Capitalize RedisJon Moss2017-08-171-1/+1
|/ / / / / | | | | | | | | | | | | | | | [ci skip]
* | / / / Encrypt the IRC notification setting, so it's not used on forksMatthew Draper2017-08-171-1/+2
| |/ / / |/| | | | | | | | | | | The value isn't actually secret, so I've kept it as a comment.
* | | | Merge pull request #30287 from y-yagi/use_queue_adapter_name_to_get_adapter_nameKasper Timm Hansen2017-08-171-3/+1
|\ \ \ \ | | | | | | | | | | Use `ActiveJob::Base.queue_adapter_name` to get adapter name
| * | | | Use `ActiveJob::Base.queue_adapter_name` to get adapter nameyuuji.yaginuma2017-08-171-3/+1
| | | | | | | | | | | | | | | | | | | | Since 673606a, it holds adapter name.
* | | | | Merge pull request #30288 from y-yagi/bump_thor_and_bladeRafael França2017-08-161-3/+3
|\ \ \ \ \ | |_|_|/ / |/| | | | Bump `thor` and `blade`
| * | | | Bump `thor` and `blade`yuuji.yaginuma2017-08-171-3/+3
|/ / / / | | | | | | | | | | | | For test with latest thor.
* | | | Merge pull request #30048 from yahonda/regexp_aware_schema_dumper_prefix_suffixRafael França2017-08-162-1/+28
|\ \ \ \ | | | | | | | | | | Allow `table_name_prefix` and `table_name_suffix` have `$`
| * | | | Allow `table_name_prefix` and `table_name_suffix` have `$`Yasuo Honda2017-08-042-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MySQL 5.7 and PostgreSQL 9.6 allow table identifiers have the dollar sign. * MySQL 5.7 https://dev.mysql.com/doc/refman/5.7/en/identifiers.html > Permitted characters in unquoted identifiers: > ASCII: [0-9,a-z,A-Z$_] (basic Latin letters, digits 0-9, dollar, underscore) * PostgreSQL 9.6 https://www.postgresql.org/docs/9.6/static/sql-syntax-lexical.html > SQL identifiers and key words must begin with a letter (a-z, but also letters with diacritical marks and non-Latin letters) or an underscore (_). Subsequent characters in an identifier or key word can be letters, underscores, digits (0-9), or dollar signs ($). Note that dollar signs are not allowed in identifiers according to the letter of the SQL standard, so their use might render applications less portable. The SQL standard will not define a key word that contains digits or starts or ends with an underscore, so identifiers of this form are safe against possible conflict with future extensions of the standard. Address #30044 [Yasuo Honda & Ryuta Kamizono]
* | | | | Merge pull request #30285 from albertoalmagro/pass-missing-name-attributeRafael França2017-08-162-7/+12
|\ \ \ \ \ | |_|_|_|/ |/| | | | Pass missing name attribute to execute_hook
| * | | | Pass missing name attribute to execute_hookAlberto Almagro2017-08-162-7/+12
| | |_|/ | |/| | | | | | | | | | Fixes commit 10bf93ef92a70ae511036134290bf0e2de184b5c created to solve issue #30025
* | | | Merge pull request #30260 from kamipo/remove_unused_action_argRafael França2017-08-161-2/+3
|\ \ \ \ | | | | | | | | | | Remove unused `action` arg for `generate_routing_code`
| * | | | Remove unused `action` arg for `generate_routing_code`Ryuta Kamizono2017-08-151-2/+3
| | | | |
* | | | | Test with released thorRafael Mendonça França2017-08-162-36/+28
| |/ / / |/| | | | | | | | | | | thor 0.20.0 was released so we can test with the released version.
* | | | Add spaceJon Moss2017-08-161-1/+1
| | | | | | | | | | | | | | | | [ci skip]
* | | | Small grammar fixesJon Moss2017-08-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Changed sentence to be more clear [ci skip]
* | | | Change to pluralJon Moss2017-08-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | `it` and `has` are for singular, not plural [ci skip]
* | | | Remove period from within linksJon Moss2017-08-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Periods should be outside of the <a> tags [ci skip]
* | | | Merge pull request #30280 from koic/change_namespace_of_active_storage_rake_taskRyuta Kamizono2017-08-161-1/+1
|\ \ \ \ | | | | | | | | | | Change namespace of Active Storage rake task
| * | | | Change namespace of Active Storage rake taskKoichi ITO2017-08-161-1/+1
| | | | |
* | | | | Merge pull request #30210 from koic/fix_rubocop_offensesMatthew Draper2017-08-1631-139/+141
|\ \ \ \ \ | | | | | | | | | | | | Fix RuboCop offenses