aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Prevent event propogation if element is disabled when event chain begins.Patrick Toomey2017-03-093-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | The existing UJS event behavior relies on browsers not sending events for various events when an element is disabled. For example, imagine the following: <button type="submit" disabled="disabled">Click me</button> The above button is disabled, so browsers will not trigger a click event and all UJS behavior is prevented. However, imagine a button like this: <button type="submit" disabled="disabled"><strong>Click me</strong></button> The above is treated differently by browsers such as Chrome/Safari. These browsers do not consider the strong tag to be disabled, and will trigger click events. UJS has logic to walk up the DOM to find an associated element subject to UJS behavior. But, this logic does not take into account the disabled status of the element. I originally thought we could simply change the selectors used to match elements to ignore disabled elements. However, UJS disables some elements as part of the event chain. So, an element might match early in the chain and then fail to match later. Instead of changing the selectors I added a callback to the chain that calls `stopEverything` if an element is disabled when the event chain begins.
* Merge pull request #28182 from y-yagi/show_correct_rails_commandsKasper Timm Hansen2017-03-098-18/+47
|\ | | | | Show correct commands in help
| * Show correct commands in helpyuuji.yaginuma2017-03-038-18/+47
| | | | | | | | | | Currently rails' help shows only namespace. However, the secrets command needs to specify command. Therefore, I fixed the command to display in help.
* | [ci skip] Document read_encrypted_secrets config.Kasper Timm Hansen2017-03-091-0/+8
| | | | | | | | | | | | Mostly just that it's there. Closes #28193.
* | Merge pull request #28351 from kamipo/deprecate_schema_migrations_table_nameRafael Mendonça França2017-03-093-0/+13
|\ \ | | | | | | | | | Deprecate `Migrator.schema_migrations_table_name`
| * | Deprecate `Migrator.schema_migrations_table_name`Ryuta Kamizono2017-03-093-0/+13
| | | | | | | | | | | | | | | Since 67fba0cf `SchemaMigration` model was extracted. Use `SchemaMigration.table_name` instead.
* | | Merge pull request #28354 from kamipo/fix_select_with_block_and_dirty_targetEileen M. Uchitelle2017-03-093-2/+14
|\ \ \ | | | | | | | | Fix select with block doesn't return newly built records in has_many association
| * | | Fix select with block doesn't return newly built records in has_many associationRyuta Kamizono2017-03-093-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `select` in `QueryMethods` is also an enumerable method. Enumerable methods with block should delegate to `records` on `CollectionProxy`, not `scope`. Fixes #28348.
* | | | Merge branch 'refactor-system-test-driver'eileencodes2017-03-099-91/+64
|\ \ \ \
| * | | | Call system test driver per-instance rather than globallyeileencodes2017-03-097-42/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the system test subclasses would call `driven_by` when the app booted and not again when the test was initialized which resulted in the driver from whichever class was called last to be used in tests. In rails/rails#28144 the `driven_by` method was changed to run `use` on setup and `reset` on teardown. While this was a viable fix this really pointed to the problem that system test `driven_by` was a global setting, rather than a per-class setting. To alieviate this problem calling the driver should be done on an instance level, rather than on the global level. I added an `initialize` method to `SystemTestCase` which will call `use` on the superclass driver. Running the server has been moved to `start_application` so that it only needs to be called once on boot and no options from `driven_by` were being passed to it. This required a largish rewrite of the tests. Each test needs to utilize the subclass so that it can properly test the drivers. `ActionDispatch::SystemTestCase` shouldn't be called directly anymore.
| * | | | Refactor system test driver/browsereileencodes2017-03-096-56/+35
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Since using a browser is only for selenium it doesn't really make sense to have a separate class for handling it there. This brings a lot of the if/else out of the main SystemTestCase class and into the Driver class so we can abstract away all that extra work.
* / / / force UTF-8 as external encoding in guides generation [ci skip]Xavier Noria2017-03-091-3/+16
|/ / / | | | | | | | | | See the rationale in the comment found in the patch.
* | | Merge pull request #28340 from k3rni/document-am-default-url-optionsJon Moss2017-03-081-0/+3
|\ \ \ | |/ / |/| | Document using `default_url_options` in an ActionMailer class.
| * | Document using `default_url_options` in an ActionMailer class.Krzysztof Zych2017-03-081-0/+3
| | |
* | | Merge pull request #28336 from tjschuck/test_delegated_params_methodsRafael França2017-03-081-0/+63
|\ \ \ | |/ / |/| | Tests for delegated public methods on AC::Parameters
| * | Tests for delegated public methods on AC::ParametersT.J. Schuck2017-03-071-0/+63
| | |
* | | Merge pull request #28338 from y-yagi/use_appropriate_type_in_generators_testKasper Timm Hansen2017-03-081-1/+1
|\ \ \ | |/ / |/| | Use appropriate type in generators test
| * | Use appropriate type in generators testyuuji.yaginuma2017-03-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This fixes the following thor's warning. ``` Expected string default value for '--generate'; got false (boolean) ```
* | | params --> parametersJon Moss2017-03-071-2/+2
| | | | | | | | | | | | [ci skip]
* | | Merge pull request #28334 from tjschuck/document_delegated_params_methodsJon Moss2017-03-071-0/+71
|\ \ \ | | | | | | | | Document delegated public methods on AC::Parameters
| * | | Document delegated public methods on AC::ParametersT.J. Schuck2017-03-071-0/+71
|/ / / | | | | | | [ci skip]
* | | Merge pull request #28289 from maicher/masterVipul A M2017-03-071-2/+18
|\ \ \ | |/ / |/| | Improve foreign key description in guides
| * | Improve foreign key description in guides [ci skip]Krzysztof Maicher2017-03-061-2/+18
| | |
* | | Check whether `Rails.application` defined before calling itAndrew White2017-03-072-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In #27674 we changed the migration generator to generate migrations at the path defined in `Rails.application.config.paths` however the code checked for the presence of the `Rails` constant but not the `Rails.application` method which caused problems when using Active Record and generators outside of the context of a Rails application. Fixes #28325.
* | | Merge pull request #28326 from y-yagi/remove_on_option_that_does_not_existVipul A M2017-03-071-2/+2
|\ \ \ | | | | | | | | Remove `:on` option that does ot exist [ci skip]
| * | | Remove `:on` option that does ot exist [ci skip]yuuji.yaginuma2017-03-071-2/+2
| | | | | | | | | | | | | | | | That option was removed in 0a683085b1db435b7371350b2799a0f248cd717a
* | | | CI against jruby-9.1.8.0Akira Matsuda2017-03-071-3/+3
| | | |
* | | | Merge pull request #28320 from y-yagi/fix_typo_titleizeJon Moss2017-03-061-2/+2
|\ \ \ \ | |/ / / |/| | | Fix typo `titlelize` -> `titleize` [ci skip]
| * | | Fix typo `titlelize` -> `titleize` [ci skip]yuuji.yaginuma2017-03-071-2/+2
|/ / /
* | | [ci skip] 🎬 expensive: take twoKasper Timm Hansen2017-03-061-1/+1
| | |
* | | Update `titlelize` regex to allow apostrophesAndrew White2017-03-063-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 4b685aa the regex in `titlelize` was updated to not match apostrophes to better reflect the nature of the transformation. Unfortunately this had the side effect of breaking capitalization on the first word of a sub-string, e.g: >> "This was 'fake news'".titleize => "This Was 'fake News'" This is fixed by extending the look-behind to also check for a word character on the other side of the apostrophe. Fixes #28312.
* | | Merge pull request #28257 from yahonda/app_generators_use_oracle_enhancedAndrew White2017-03-062-5/+6
|\ \ \ | | | | | | | | Update `database.yml` when `rails new <new_app> -d oracle` specified
| * | | Update `database.yml` when `rails new <new_app> -d oracle` specifiedYasuo Honda2017-03-022-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Install "activerecord-oracle_enhanced-adapter". Oracle adapter used to be a bundled one. Now it is a 3rd party one. Also "ruby-oci8" is a required gem for CRuby, not for JRuby. - Remove oracle entry for JRuby since Oracle enhanced adapter supports both CRuby and JRuby with single gem. - Change adapter name from `oracle` to `oracle_enhanced` in the oracle.yml. Not changing `-d oracle` - Update `DATABASE_URL` entry to use a dash instead of an underscore Refer https://github.com/rails/rails/commit/d72a0cbc807a14d3eec02a53317d11b9d9fa5815 for the reason.
* | | | Add CHANGELOG entry for #28250Andrew White2017-03-061-0/+10
| | | |
* | | | Merge pull request #28250 from tzabaman/fix_malformed_asset_url_in_ac_rendererAndrew White2017-03-062-0/+15
|\ \ \ \ | | | | | | | | | | Fix malformed asset_url in ActionController::Renderer
| * | | | Fix malformed asset_url when rendering template with ActionController::RendererGiorgos Vrettos2017-03-062-0/+15
| | | | |
* | | | | Merge pull request #28305 from kamipo/extract_schema_migration_all_versionsAndrew White2017-03-063-4/+8
|\ \ \ \ \ | |/ / / / |/| | | | Extract `SchemaMigration.all_versions`
| * | | | Extract `SchemaMigration.all_versions`Ryuta Kamizono2017-03-063-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Use `SchemaMigration.all_versions` instead of `SchemaMigration.all.map(&:version)` to avoid to instantiate AR objects.
* | | | | Merge pull request #28295 from kamipo/fix_deserialize_with_json_arrayAndrew White2017-03-063-1/+17
|\ \ \ \ \ | | | | | | | | | | | | Fix `deserialize` with JSON array
| * | | | | Fix `deserialize` with JSON arrayRyuta Kamizono2017-03-063-1/+17
| |/ / / / | | | | | | | | | | | | | | | Fixes #28285.
* | | | | Merge pull request #28301 from y-yagi/fix_direct_with_params_exampleJon Moss2017-03-051-1/+1
|\ \ \ \ \ | |/ / / / |/| | | | Fix `direct` with params example [ci skip]
| * | | | Fix `direct` with params example [ci skip]yuuji.yaginuma2017-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since `ActionController:Parameters` does not inherit `Hash`, need to explicitly convert it to `Hash`. Also, `Parameters#to_h` returns `Hash` whose key is `String`. Therefore, if merge as it is, the value will not be overwritten as expected.
* | | | | Merge pull request #28296 from kamipo/fix_ci_failureJon Moss2017-03-051-2/+2
|\ \ \ \ \ | | | | | | | | | | | | Fix CI failure due to contain <U+2028>
| * | | | | Fix CI failure due to contain <U+2028>Ryuta Kamizono2017-03-061-2/+2
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```diff diff --git a/actionpack/lib/action_controller/metal/redirecting.rb b/actionpack/lib/action_controller/metal/redirecting.rb index a3159c29dd..1836a07d4e 100644 --- a/actionpack/lib/action_controller/metal/redirecting.rb +++ b/actionpack/lib/action_controller/metal/redirecting.rb @@ -50,8 +50,8 @@ module Redirecting # redirect_to post_url(@post), status: 301, flash: { updated_post_id: @post.id } # redirect_to({ action: 'atom' }, alert: "Something serious happened") # - # Statements after redirect_to in our controller get executed, so redirect_to doesn't stop the execution of the function. - <U+2028># To terminate the execution of the function immediately after the redirect_to, use return. + # Statements after +redirect_to+ in our controller get executed, so +redirect_to+ doesn't stop the execution of the function. + # To terminate the execution of the function immediately after the +redirect_to+, use return. # redirect_to post_url(@post) and return def redirect_to(options = {}, response_status = {}) raise ActionControllerError.new("Cannot redirect to nil!") unless options ``` https://travis-ci.org/rails/rails/jobs/207908041#L549
* | | | | Merge pull request #28293 from ↵Eileen M. Uchitelle2017-03-053-12/+8
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | kamipo/remove_useless_migrator_schema_migrations_table_name Remove useless `Migrator.schema_migrations_table_name`
| * | | | | Remove useless `Migrator.schema_migrations_table_name`Ryuta Kamizono2017-03-053-12/+8
| |/ / / / | | | | | | | | | | | | | | | Simply use `SchemaMigration.table_name` instead.
* | | | | Merge pull request #28259 from ChakreshwarSharma/redirect_to_docVipul A M2017-03-051-0/+3
|\ \ \ \ \ | | | | | | | | | | | | [ci skip] Use return with redirect_to
| * | | | | [ci skip] Use return with redirect_toChakreshwarSharma2017-03-041-0/+3
| | | | | |
* | | | | | Merge pull request #28264 from ↵Eileen M. Uchitelle2017-03-052-1/+30
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | y-yagi/do_not_take_screenshot_if_driver_does_not_support_it Do not take screenshot if driver does not support screenshot
| * | | | | | Do not take screenshot if driver does not support screenshotyuuji.yaginuma2017-03-042-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `Capybara::RackTest::Driver` does not support taking screenshots. If call `#save_screenshot` on `Capybara::RackTest::Driver` will raise the error. ```ruby Error: UsersTest#test_visiting_the_index: Capybara::NotSupportedByDriverError: Capybara::Driver::Base#save_screenshot ``` To prevent errors, if driver does not support screenshot, do not call it.