diff options
author | Stuart Preston <stuart@chef.io> | 2018-06-26 10:23:12 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-26 10:23:12 +0100 |
commit | 4e39c729c5981067c028bd3abcb50b066d760a28 (patch) | |
tree | a6d01a8b7013666b5e2894a32ad84634cc007d58 | |
parent | bec29232c2b42609a4746f4df9141758af87287f (diff) | |
parent | 9c4eb3ffd1402c04f053559eba32c290f80e7465 (diff) | |
download | chef-4e39c729c5981067c028bd3abcb50b066d760a28.tar.gz |
Merge pull request #7393 from chef/lcg/remove-187-isms
remove some ruby 1.8.7-isms
-rw-r--r-- | lib/chef/mixin/wide_string.rb | 28 |
1 files changed, 5 insertions, 23 deletions
diff --git a/lib/chef/mixin/wide_string.rb b/lib/chef/mixin/wide_string.rb index ef7828e2d8..2fcb5caadb 100644 --- a/lib/chef/mixin/wide_string.rb +++ b/lib/chef/mixin/wide_string.rb @@ -31,40 +31,22 @@ class Chef def utf8_to_wide(ustring) # ensure it is actually UTF-8 # Ruby likes to mark binary data as ASCII-8BIT - ustring = (ustring + "").force_encoding("UTF-8") if ustring.respond_to?(:force_encoding) && ustring.encoding.name != "UTF-8" + ustring = (ustring + "").force_encoding("UTF-8") # ensure we have the double-null termination Windows Wide likes ustring += "\000\000" if ustring.length == 0 || ustring[-1].chr != "\000" # encode it all as UTF-16LE AKA Windows Wide Character AKA Windows Unicode - ustring = begin - if ustring.respond_to?(:encode) - ustring.encode("UTF-16LE") - else - require "iconv" - Iconv.conv("UTF-16LE", "UTF-8", ustring) - end - end - ustring + ustring.encode("UTF-16LE") end def wide_to_utf8(wstring) # ensure it is actually UTF-16LE # Ruby likes to mark binary data as ASCII-8BIT - wstring = wstring.force_encoding("UTF-16LE") if wstring.respond_to?(:force_encoding) + wstring = wstring.force_encoding("UTF-16LE") - # encode it all as UTF-8 - wstring = begin - if wstring.respond_to?(:encode) - wstring.encode("UTF-8") - else - require "iconv" - Iconv.conv("UTF-8", "UTF-16LE", wstring) - end - end - # remove trailing CRLF and NULL characters - wstring.strip! - wstring + # encode it all as UTF-8 and remove trailing CRLF and NULL characters + wstring.encode("UTF-8").strip end end |