aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | docs: add example for a nil name in link_tomaciej-ka2017-12-071-0/+5
| | | | | | |
* | | | | | | Merge pull request #31355 from rails/fix-rails-env-with-rubyAaron Patterson2017-12-085-3/+82
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | Fix Rails environment when running tests with Ruby
| * | | | | | Set the Rails environment from an environment variableAaron Patterson2017-12-082-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Option parsing happens too late to have any impact on the Rails environment. Rails accesses the environment name and memoizes it too early in the boot process for a commandline option to have any impact on the database connection, so we'll change this test to set the environment from an environment variable (and ensure it still works when running tests with `ruby`)
| * | | | | | Revert "remove unnecessary `RAILS_ENV` setting"Aaron Patterson2017-12-082-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9a80f52541ed2c93ebef02909ecab3aaf9127150.
| * | | | | | Add failing test for wrong database connectionAaron Patterson2017-12-081-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When tests are run with just `ruby`, the RAILS_ENV is set to `development` too early, and we connect to the development database rather than the test database.
| * | | | | | Fix Rails environment when running tests with RubyAaron Patterson2017-12-063-3/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I frequently run tests with `ruby`, not with a runner like `rake` or `rails`. When running the test with just `ruby` the `RAILS_ENV` environment variable did not get set to "test", and this would cause the tests to fail (and even mutate the development database!) This commit adds integration tests for running tests with just `ruby` and ensures the environment gets defaulted to "test". I also added a test to ensure that passing an environment to `-e` actually works (and fixed that case too). An interesting / annoying thing is that Minitest picks up it's plugins by asking RubyGems for a list of files: https://github.com/seattlerb/minitest/blob/ca6a71ca901016db09a5ad466b4adea4b52a504a/lib/minitest.rb#L92-L100 This means that RubyGems needs to somehow know about the file before it can return it to Minitest. Since we are not packaging Rails as a Gem before running the integration tests on it (duh, why would you do that?), RubyGems doesn't know about the file, so it can't tell Minitest, so Minitest doesn't automatically require it. This means I had to manually require and insert the plugin in our integration test. I've left comments about that in the test as well. Ugh.
| | | | | | * Apply edits and suggestionsJeffrey Guenther2017-12-081-20/+19
| | | | | | |
| | | | | | * Merge branch 'master' into activestorage-guideJeffrey Guenther2017-12-0890-363/+1175
| | | | | | |\ | |_|_|_|_|_|/ |/| | | | | |
* | | | | | | Swap raw video width and height if angle is 90 or 270 degreesGeorge Claghorn2017-12-082-3/+15
| | | | | | |
* | | | | | | SQLite: Fix `copy_table` with composite primary keysRyuta Kamizono2017-12-082-6/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `connection.primary_key` also return composite primary keys, so `from_primary_key_column` may not be found even if `from_primary_key` is presented. ``` % ARCONN=sqlite3 be ruby -w -Itest test/cases/adapters/sqlite3/sqlite3_adapter_test.rb -n test_copy_table_with_composite_primary_keys Using sqlite3 Run options: -n test_copy_table_with_composite_primary_keys --seed 19041 # Running: E Error: ActiveRecord::ConnectionAdapters::SQLite3AdapterTest#test_copy_table_with_composite_primary_keys: NoMethodError: undefined method `type' for nil:NilClass /path/to/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb:411:in `block in copy_table' ``` This change fixes `copy_table` to do not lose composite primary keys.
* | | | | | | Merge pull request #30780 from ↵Sean Griffin2017-12-072-0/+23
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JackMc/fix-chrome-referrer-invalidauthenticitytoken Fix issue #30658 by checking explicitly for 'null' referrer
| * | | | | | | Add a better error message when a "null" Origin header occursJack McCracken2017-11-032-0/+23
| | | | | | | |
* | | | | | | | Fix customizing Content-Type via GCS service URLsGeorge Claghorn2017-12-072-1/+21
| | | | | | | |
* | | | | | | | Merge pull request #31365 from ↵Eileen M. Uchitelle2017-12-077-4/+42
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bogdanvlviv/add-headless_firefox-driver-to-system_tests Add headless firefox driver to System Tests
| * | | | | | | | Add headless firefox driver to System Testsbogdanvlviv2017-12-077-4/+42
| | | | | | | | |
* | | | | | | | | Fix `scope_for_create` to do not lose polymorphic associationsRyuta Kamizono2017-12-083-3/+26
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This regression was caused at 213796fb due to polymorphic predicates are combined by `Arel::Nodes::And`. But I'd like to keep that combined because it would help inverting polymorphic predicates correctly (e9ba12f7), and we can collect equality nodes regardless of combined by `Arel::Nodes::And` (`a AND (b AND c) AND d` == `a AND b AND c AND d`). This change fixes the regression to collect equality nodes in `Arel::Nodes::And` as well. Fixes #31338.
* | | | | | | | Merge pull request #31327 from aellispierce/custom-id-change-table-sqliteEileen M. Uchitelle2017-12-072-1/+23
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Fix sqlite migrations with custom primary keys
| * | | | | | | | Fix sqlite migrations with custom primary keysAshley Ellis Pierce2017-12-062-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, if a record was created with a custom primary key, that table could not be migrated using sqlite. While attempting to copy the table, the type of the primary key was ignored. Once that was corrected, copying the indexes would fail because custom primary keys are autoindexed by sqlite by default. To correct that, this skips copying the index if the index name begins with "sqlite_". This is a reserved word that indicates that the index is an internal schema object. SQLite prohibits applications from creating objects whose names begin with "sqlite_", so this string should be safe to use as a check. ref https://www.sqlite.org/fileformat2.html#intschema
* | | | | | | | | Merge pull request #31358 from ↵Andrew White2017-12-071-5/+5
|\ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | yhirano55/made_example_codes_inherit_application_record [ci skip] Make `Todo` classes inherit `ApplicationRecord`
| * | | | | | | | [ci skip] Make Todo classes inherit ApplicationRecordYoshiyuki Hirano2017-12-071-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example codes that use `has_many` or `before_create` in `Module::Concerning` look like active record models. So I've made them inherit `ApplicationRecord`.
* | | | | | | | | Merge pull request #31350 from ptolts/correct_test_spellingYuji Yaginuma2017-12-071-1/+1
|\ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / |/| | | | | | | | Correct routing test spelling mistake.
| * | | | | | | | Correct routing test spelling mistake.Philip Tolton2017-12-061-1/+1
|/ / / / / / / /
* | | | | | | | Merge pull request #31344 from kamipo/use_string_instead_of_textRyuta Kamizono2017-12-072-32/+43
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Use `:string` instead of `:text` for `JsonAttributeTest`
| * | | | | | | | Address `ActiveRecord::NotNullViolation: OCIError: ORA-01400` for Oracle ↵Yasuo Honda2017-12-071-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | database which requires primary key value mentioned in insert statement explicitly.
| * | | | | | | | Use `:string` instead of `:text` for `JsonAttributeTest`Ryuta Kamizono2017-12-062-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since CLOB data type has many limitations in Oracle SELECT WHERE clause.
| * | | | | | | | Revert "Merge pull request #31341 from yahonda/skip_json_attribute_test"Ryuta Kamizono2017-12-061-24/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 23226d04f921b79f0077ba38c5a5a923b6d43f89, reversing changes made to 7544cf7603959f25100b21f70b5e70354bed7e45.
* | | | | | | | | Merge pull request #27790 from domcleal/ac-params-each-yieldsRafael França2017-12-062-1/+17
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Yield array from AC::Parameters#each for block with one arg
| * | | | | | | | | Yield array from AC::Parameters#each for block with one argDominic Cleal2017-12-062-1/+17
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Matches Hash#each behaviour as used in Rails 4.
* | | | | | | | | Merge pull request #31345 from yhirano55/add_assert_in_epsilon_to_testing_guideEileen M. Uchitelle2017-12-061-0/+2
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | Add `assert_in_epsilon` to Testing guide [ci skip]
| * | | | | | | | Add `assert_in_epsilon` to Testing guide [ci skip]Yoshiyuki Hirano2017-12-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I found `assert_in_epsilon` is not be in "2.4 Available Assertions". So I Added them. MiniTest::Assertions#assert_in_epsilon: https://github.com/seattlerb/minitest/blob/master/lib/minitest/assertions.rb#L204-L210
* | | | | | | | | Merge pull request #31341 from yahonda/skip_json_attribute_testSean Griffin2017-12-051-22/+24
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Execute `JsonAttributeTest` only if `supports_json?` returns `true`
| * | | | | | | | | Execute `JsonAttributeTest` only if `supports_json?` returns `true`Yasuo Honda2017-12-051-22/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Oracle enhanced adapter does not fully support JSON datatype then `supports_json?` returns `false`. I wanted to skip known failures and errors when tested with Oracle enhanced adapter.
* | | | | | | | | | Merge pull request #31339 from lostapathy/speedup_travisGeorge Claghorn2017-12-051-4/+1
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Speed up travis by only installing packages when needed
| * | | | | | | | | | only install ffmpeg and mupdf on activestorage buildsJoe Francis2017-12-051-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are needed when GEM=ast, thanks @georgeclaghorn
* | | | | | | | | | | Merge pull request #31335 from ttanimichi/more-tests-for-webpack-optionGuillermo Iguaran2017-12-051-3/+24
|\ \ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / / |/| | | | | | | | | | Add more tests for the `--webpack` option
| * | | | | | | | | | Add more tests for the `--webpack` optionTsukuru Tanimichi2017-12-051-0/+19
| | | | | | | | | | |
| * | | | | | | | | | Modify `test_webpack_option`Tsukuru Tanimichi2017-12-051-3/+5
| | | | | | | | | | |
* | | | | | | | | | | Add missing requireyuuji.yaginuma2017-12-051-0/+2
| |_|_|/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow up of 3c442b6df91e291ebbf17f37444414bf5f10fbe6 Without this require, it will fail when run CSP test alone. Ref: https://travis-ci.org/rails/rails/jobs/311715758#L2976
* | | | | | | | | | Merge pull request #31334 from yhirano55/fix_example_code_in_active_jobRyuta Kamizono2017-12-051-4/+10
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Fix example code in ActiveJob::Core [ci skip]
| * | | | | | | | | | Fix example code in ActiveJob::Core [ci skip]Yoshiyuki Hirano2017-12-051-4/+10
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* / / / / / / / / / Fix CSP copy boolean directives (#31326)Simon Dawson2017-12-052-5/+10
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | Use Object#deep_dup to safely duplicate policy values
* | | | | | | | | Merge pull request #31279 from ttanimichi/tests-for-webpack-optionGuillermo Iguaran2017-12-041-0/+14
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | Add tests for the `--webpack` option
| * | | | | | | | Add tests for the `--webpack` optionTsukuru Tanimichi2017-12-041-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We probably don't have any tests for the `--webpack` option. related: #27288
* | | | | | | | | `current_version` should catch `NoDatabaseError` from `get_all_versions`Ryuta Kamizono2017-12-041-12/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `get_all_versions` doesn't use passed `connection`. So it should be caught `NoDatabaseError` from `SchemaMigration.table_exists?`.
* | | | | | | | | Merge pull request #31322 from bogdanvlviv/update-active_record_querying-guideSean Griffin2017-12-031-9/+9
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Update "Active Record Query Interface" guide [ci skip]
| * | | | | | | | | Update "Active Record Query Interface" guide [ci skip]bogdanvlviv2017-12-041-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add missing `LIMIT 1` for some queries - Make some examples of query more readable
* | | | | | | | | | Embrace the instantiation in loving parens <3Kasper Timm Hansen2017-12-031-1/+2
| | | | | | | | | |
* | | | | | | | | | Merge pull request #31146 from ↵Kasper Timm Hansen2017-12-031-41/+83
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mikeycgto/actiondispatch-cookie-store-test-updates Update cookie_store_test to use encrypted cookies
| * | | | | | | | | | Update cookie_store_test to use encrypted cookiesMichael Coyne2017-11-271-41/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | | | | Merge pull request #31311 from ↵Kasper Timm Hansen2017-12-034-3/+43
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | y-yagi/ignore_no_database_error_when_loading_schema_cache Ignore `NoDatabaseError` when loading schema cache