Skip to content

Instantly share code, notes, and snippets.

@sunaot
Created August 13, 2015 01:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sunaot/6bfbb9adbda365b9d404 to your computer and use it in GitHub Desktop.
Save sunaot/6bfbb9adbda365b9d404 to your computer and use it in GitHub Desktop.
adhoc patch to ~/.heroku/client/lib/heroku/client/rendezvous.rb
private
def fixup(data)
return nil if ! data
return_data = output.isatty ? data : data.gsub(/\cM/,"")
if return_data.respond_to?(:force_encoding)
return_data.force_encoding('utf-8') if return_data.respond_to?(:force_encoding)
end
if running_on_windows?
begin
return_data.gsub!(/\e\[[\d;]+m/, '')
rescue # ignore failed gsub, for instance when non-utf8
end
end
return_data
end
end
# ~/.heroku/client/lib/heroku/client/rendezvous.rb:[utf-8][unix]
@sunaot
Copy link
Author

sunaot commented Aug 13, 2015

diff -u 形式

--- /tmp/rendezvous.rb  2015-08-13 10:01:46.000000000 +0900
+++ ~/.heroku/client/lib/heroku/client/rendezvous.rb    2015-08-13 09:55:26.000000000 +0900
@@ -97,15 +97,16 @@

   def fixup(data)
     return nil if ! data
-    if data.respond_to?(:force_encoding)
-      data.force_encoding('utf-8') if data.respond_to?(:force_encoding)
+    return_data = output.isatty ? data : data.gsub(/\cM/,"")
+    if return_data.respond_to?(:force_encoding)
+      return_data.force_encoding('utf-8') if return_data.respond_to?(:force_encoding)
     end
     if running_on_windows?
       begin
-        data.gsub!(/\e\[[\d;]+m/, '')
+        return_data.gsub!(/\e\[[\d;]+m/, '')
       rescue # ignore failed gsub, for instance when non-utf8
       end
     end
-    output.isatty ? data : data.gsub(/\cM/,"")
+    return_data
   end
 end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment