summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changelogs/unreleased/rails5-silence-stream.yml5
-rw-r--r--lib/tasks/gettext.rake13
2 files changed, 17 insertions, 1 deletions
diff --git a/changelogs/unreleased/rails5-silence-stream.yml b/changelogs/unreleased/rails5-silence-stream.yml
new file mode 100644
index 00000000000..df4fd14a077
--- /dev/null
+++ b/changelogs/unreleased/rails5-silence-stream.yml
@@ -0,0 +1,5 @@
+---
+title: 'Rails 5: replace removed silence_stream'
+merge_request: 21387
+author: Jasper Maes
+type: other
diff --git a/lib/tasks/gettext.rake b/lib/tasks/gettext.rake
index f431352b61e..a497d26312e 100644
--- a/lib/tasks/gettext.rake
+++ b/lib/tasks/gettext.rake
@@ -82,7 +82,7 @@ namespace :gettext do
# `gettext:find` writes touches to temp files to `stderr` which would cause
# `static-analysis` to report failures. We can ignore these.
- silence_stream($stderr) do
+ silence_sdterr do
Rake::Task['gettext:find'].invoke
end
@@ -118,4 +118,15 @@ namespace :gettext do
end
end
end
+
+ def silence_sdterr(&block)
+ old_stderr = $stderr.dup
+ $stderr.reopen(File::NULL)
+ $stderr.sync = true
+
+ yield
+ ensure
+ $stderr.reopen(old_stderr)
+ old_stderr.close
+ end
end