aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Better compatibility with SPEC.Samuel Williams2018-07-041-2/+4
| | |/ | |/| | | | | | | | | | | | | If `env` is duped or otherwise not the same as the original `env` that was generated at the top of rack middleware, it is impossible for the server hijack proc to update the right `env` instance. Therefore, capturing the return value is more reliable. This is the recommendation of the rack SPEC.
* | | A Class is a Module so we remove one conditionalRafael Mendonça França2018-07-041-1/+1
| | |
* | | Merge pull request #33289 from Edouard-chin/ec-lazy-load-hooksRafael França2018-07-042-1/+54
|\ \ \ | |/ / |/| | Use class_eval or instance_eval when triggering lazy load hooks
| * | Use class_eval or instance_eval when triggering lazy load hooks:Edouard CHIN2018-07-032-1/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - When lazy load hooks were triggered we were using `Object.instance_eval` which evaluates the block in the context of the class being passed. Most of the time that class was a `Class`. If one wants to define a instance method on the class then it wasn't possible. ```ruby class A; end; A.instance_eval do def foo puts 'bar' end end A.new.foo #> NoMethodError: undefined method `foo` A.foo #> bar ``` - This PR checks what object is passed when triggering the hooks and either call `class_eval` or `instance_eval`. My rational and assumptions being that if an instance of a class is passed, then the blocks needs to evaluate in the context of that instance (i.e. defining a method should only define it on that instance). On the other hand, if a Class or Module is passed when triggering hooks, then defining a method should define it on the class itself - #32776 Pushed me to introduce this change
* | | Merge pull request #33286 from ph3t/add-changelog-entry-for-42c3537Ryuta Kamizono2018-07-041-1/+13
|\ \ \ | | | | | | | | | | | | Add changelog entry for 42c3537 [ci skip]
| * | | Add changelog entry for 42c3537 [ci skip]Juan Broullon2018-07-031-1/+11
| | | |
* | | | Merge pull request #33287 from albertoalmagro/remove-old-todo-generatorRyuta Kamizono2018-07-041-1/+0
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Remove old TODO comment [ci skip]
| * | | Remove old TODO commentAlberto Almagro2018-07-041-1/+0
|/ / / | | | | | | | | | | | | This TODO comment has been here more than 7 years and doesn't seem to be a temporary implementation anymore.
* | | Merge pull request #33054 from jboler/masterRafael França2018-07-033-20/+5
|\ \ \ | | | | | | | | Fix route eager loading
| * | | Only execute route updater once on app bootJonathan Boler2018-06-192-6/+2
| | | |
| * | | Merge branch 'master' of github.com:rails/railsJonathan Boler2018-06-0425-68/+231
| |\ \ \
| * | | | Eager load routes on rebuildJonathan Boler2018-06-041-14/+2
| | | | |
| * | | | Only build routes simulator when there is an ASTJonathan Boler2018-06-041-0/+1
| | | | |
* | | | | Merge pull request #33282 from alpaca-tc/remove_unnecessary_dependentsRafael França2018-07-032-2/+0
|\ \ \ \ \ | | | | | | | | | | | | ActiveJob::Base no longer dependents on ActiveJob::Serializers
| * | | | | ActiveJob::Base no longer dependents on Serializersalpaca-tc2018-07-032-2/+0
| | | | | |
* | | | | | Merge pull request #32361 from ph3t/safe-html-translation-arraysKasper Timm Hansen2018-07-032-4/+10
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add safe html support to arrays of translations
| * | | | | | Add safe html support to arrays of translationsJuan Broullon2018-07-032-4/+10
| | | | | | |
* | | | | | | Merge pull request #33208 from utilum/bump_sprocketsEileen M. Uchitelle2018-07-031-1/+1
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | Update sprockets to Security release for CVE-2018-3760
| * | | | | | Update sprockets to Security release for CVE-2018-3760utilum2018-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See: https://github.com/rails/sprockets/blob/v3.7.2/CHANGELOG.md https://github.com/rails/sprockets/commit/9c34fa05900b968d74f08ccf40917848a7be9441
* | | | | | | Use `construct_join_dependency` in all placesRyuta Kamizono2018-07-033-13/+6
| | | | | | |
* | | | | | | Don't extract `readonly_value` each timeRyuta Kamizono2018-07-032-5/+7
| | | | | | |
* | | | | | | Don't share seen object cache between different join nodes in eager loadingRyuta Kamizono2018-07-032-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the seen object cache is shared if join nodes have the same target class. But it is a wrong assumption, we can't share the seen object cache between different join nodes (e.g. `:readonly_account` and `:accounts` have the same target class `Account`, but the instances have the different state `readonly`). Fixes #26805. Closes #27737.
* | | | | | | Merge pull request #32987 from kevgathuku/patch-2Kasper Timm Hansen2018-07-021-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Change location for running copy migrations command
| * | | | | | | Change location for running copy migrations commandKevin Ndung'u Gathuku2018-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the location from where the command to copy migrations from the engine to the application should be run [ci skip]
* | | | | | | | Merge pull request #33242 from brasic/sqlite-readonlyRyuta Kamizono2018-07-032-1/+36
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Support readonly option in SQLite3Adapter
| * | | | | | | | Support readonly option in SQLite3AdapterCarl Brasic2018-07-022-1/+36
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Readonly sqlite database files are very useful as a data format for storing configuration/lookup data that is too complicated for YAML files. But since such files would typically be committed to a source control repository, it's important to ensure that they are truly safe from being inadvertently modified. Unfortunately using unix permissions isn't enough, as sqlite will "helpfully" add the write bit to a database file whenever it's written to. sqlite3-ruby has supported a `:readonly` option since version 1.3.2 (see https://github.com/sparklemotion/sqlite3-ruby/commit/c20c9f5dd2990042) This simply passes that option through to the adapter if present in the config hash. I think this is best considered an adapter-specific option since no other supported database has an identical concept.
* | | | | | | | Merge pull request #33273 from sohopro/patch-1Kasper Timm Hansen2018-07-021-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | [ci skip] fix error of a file name
| * | | | | | | | fix error of a file namesohopro2018-07-021-1/+1
|/ / / / / / / /
* | | | | | | | Merge pull request #32706 from ↵Kasper Timm Hansen2018-07-012-5/+33
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | yhirano55/fix-app-update-when-hyphenated-name-is-given Fix app:update when hyphenated name is given
| * | | | | | | | Fix app:update when hyphenated name is givenYoshiyuki Hirano2018-04-242-5/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fixed app_name's difference between `rails new` and `app:update` * Changed be prefer to const name than directory name. * Kept original app name which use exception message.
* | | | | | | | | Revert "Merge pull request #33234 from alpaca-tc/autoload_activejob_arguments"Kasper Timm Hansen2018-07-013-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It breaks Active Job when run in isolation. E.g. bin/test test/cases/logging_test.rb: https://travis-ci.org/rails/rails/jobs/398779028 Consider Rafaels suggestion of reviewing the eager loading instead: https://github.com/rails/rails/pull/33234#issuecomment-401027419 This reverts commit cb0fdaacb277bd0595bfd73178329922aa24477e, reversing changes made to a0a1abb3c7942084111d87ae95837a83bcc794f6.
* | | | | | | | | Refactor #33254.Kasper Timm Hansen2018-07-013-29/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firstly, increment and decrement shouldn't care about the particulars of key expiry. They should only know that they have to pass that responsibility on to somewhere else. Secondly, it moves the key normalization back inside the instrumentation like it was originally. I think that matches the original design intention or at the very least it lets users catch haywire key truncation. Thirdly, it moves the changelog entry to the top of the file, where new entries go. I couldn't understand what the entry was saying so I tried to rewrite it.
* | | | | | | | | Merge pull request #33267 from utilum/railties_testoptsKasper Timm Hansen2018-07-011-1/+3
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix assignment of TESTOPTS in railties test task
| * | | | | | | | | Fix assignment of TESTOPTS in railties test taskutilum2018-07-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The assignment of `ENV["TESTOPTS"]` to `ARGV`, introduced in 09f9a7a5b, did not take into account passing multiple options, such as `--verbose --seed=1`. This patch fixes it.
* | | | | | | | | | Merge pull request #33265 from ↵Ryuta Kamizono2018-07-013-2/+96
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | bogdanvlviv/allow-queue-option-to-assert_no_enqueued_jobs Allow `queue` option to `assert_no_enqueued_jobs`
| * | | | | | | | | Allow `queue` option to `assert_no_enqueued_jobs`bogdanvlviv2018-06-303-2/+96
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can be asserted that no jobs are enqueued to a specific queue: ```ruby def test_no_logging assert_no_enqueued_jobs queue: 'default' do LoggingJob.set(queue: :some_queue).perform_later end end ```
* | | | | | | | | Merge pull request #33257 from utilum/ruby-warningsRyuta Kamizono2018-06-303-5/+8
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix Ruby warnings tickled by the test suite
| * | | | | | | | | Fix Ruby warnings tickled by the test suiteutilum2018-06-303-5/+8
| | | | | | | | | |
* | | | | | | | | | Merge pull request #33263 from bogdanvlviv/follow-up-33258Ryuta Kamizono2018-06-302-4/+10
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Clarify activejob/lib/active_job/test_helper.rb
| * | | | | | | | | | Clarify activejob/lib/active_job/test_helper.rbbogdanvlviv2018-06-292-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename `in_block_job` to `enqueued_job` since this variable can refer not only to jobs that were created in the block. See #33258. Return back accidentally removed test to activejob/test/cases/test_helper_test.rb See #33258. Fix name of tests.
* | | | | | | | | | | Merge pull request #33262 from gsmnv/patch-1Ryuta Kamizono2018-06-301-1/+1
|\ \ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove erroneous remove_column option from example [ci skip]
| * | | | | | | | | | Remove erroneous remove_column option from exampleGeorge Semenov2018-06-291-1/+1
| |/ / / / / / / / /
* | | | | | | | | | Merge pull request #33264 from huacnlee/fix-redis-incr-ttl-checkRyuta Kamizono2018-06-302-6/+22
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | Fix Cache :redis_store increment/decrement ttl check and add more tests.
| * | | | | | | | | Fix Cache :redis_store increment/decrement ttl check and add more tests.Jason Lee2018-06-302-6/+22
|/ / / / / / / / /
* | | | | | | | | Merge pull request #33260 from bogdanvlviv/fix-docs-of-assert_no_emailsRafael França2018-06-291-1/+1
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix docs of `assert_no_emails` [ci skip]
| * | | | | | | | | Fix docs of `assert_no_emails` [ci skip]bogdanvlviv2018-06-291-1/+1
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | `assert_no_emails` is shortcut for `assert_emails 0, &block`.
* | | | | | | | | Merge pull request #33258 from ↵Rafael França2018-06-295-16/+160
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bogdanvlviv/allow-callassert_enqueued_with-with-no-block Allow call `assert_enqueued_with` and `assert_enqueued_email_with` with no block
| * | | | | | | | | Allow call `assert_enqueued_with` and `assert_enqueued_email_with` with no blockbogdanvlviv2018-06-295-16/+160
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example of `assert_enqueued_with` with no block ```ruby def test_assert_enqueued_with MyJob.perform_later(1,2,3) assert_enqueued_with(job: MyJob, args: [1,2,3], queue: 'low') MyJob.set(wait_until: Date.tomorrow.noon).perform_later assert_enqueued_with(job: MyJob, at: Date.tomorrow.noon) end ``` Example of `assert_enqueued_email_with` with no block: ```ruby def test_email ContactMailer.welcome.deliver_later assert_enqueued_email_with ContactMailer, :welcome end def test_email_with_arguments ContactMailer.welcome("Hello", "Goodbye").deliver_later assert_enqueued_email_with ContactMailer, :welcome, args: ["Hello", "Goodbye"] end ``` Related to #33243
* | | | | | | | | Merge pull request #33238 from ↵Rafael França2018-06-291-0/+2
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dikond/explicit_action_mailer_deliver_later_queue_name Note deliver_later_queue_name gotcha in ActionMailer guide
| * | | | | | | | | Note deliver_later_queue_name gotcha in ActionMailer guide [ci skip]dikond2018-06-271-0/+2
| | | | | | | | | |