Module: EncodingHelper
- Extended by:
- EncodingHelper
- Included in:
- EncodingHelper, Gitlab::Git::Blame, Gitlab::Git::Blob, Gitlab::Git::Commit, Gitlab::Git::Diff, Gitlab::Git::Ref, Gitlab::Git::Tree
- Defined in:
- lib/gitlab_git/encoding_helper.rb
Instance Method Summary collapse
Instance Method Details
#encode!(message) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/gitlab_git/encoding_helper.rb', line 4 def encode!() return nil unless .respond_to? :force_encoding # if message is utf-8 encoding, just return it .force_encoding("UTF-8") return if .valid_encoding? # return message if message type is binary detect = CharlockHolmes::EncodingDetector.detect() return .force_encoding("BINARY") if detect && detect[:type] == :binary # encoding message to detect encoding if detect && detect[:encoding] .force_encoding(detect[:encoding]) end # encode and clean the bad chars .replace clean() rescue encoding = detect ? detect[:encoding] : "unknown" "--broken encoding: #{encoding}" end |
#encode_utf8(message) ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/gitlab_git/encoding_helper.rb', line 27 def encode_utf8() detect = CharlockHolmes::EncodingDetector.detect() if detect CharlockHolmes::Converter.convert(, detect[:encoding], 'UTF-8') else clean() end end |