summaryrefslogtreecommitdiff
path: root/lib/gitlab_ci/encode.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab_ci/encode.rb')
-rw-r--r--lib/gitlab_ci/encode.rb33
1 files changed, 0 insertions, 33 deletions
diff --git a/lib/gitlab_ci/encode.rb b/lib/gitlab_ci/encode.rb
deleted file mode 100644
index 41b8a66..0000000
--- a/lib/gitlab_ci/encode.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-require 'charlock_holmes/string'
-
-module GitlabCi
- module Encode
- extend self
-
- def encode!(message)
- return nil unless message.respond_to? :force_encoding
-
- # if message is utf-8 encoding, just return it
- message.force_encoding("UTF-8")
- return message if message.valid_encoding?
-
- # return message if message type is binary
- detect = CharlockHolmes::EncodingDetector.detect(message)
- return message if detect[:type] == :binary
-
- # if message is not utf-8 encoding, convert it
- if detect[:encoding]
- message.force_encoding(detect[:encoding])
- message.encode!("UTF-8", detect[:encoding], undef: :replace, replace: "", invalid: :replace)
- end
-
- # ensure message encoding is utf8
- message.valid_encoding? ? message : raise
-
- # Prevent app from crash cause of encoding errors
- rescue
- encoding = detect ? detect[:encoding] : "unknown"
- "--broken encoding: #{encoding}"
- end
- end
-end