Module: Nuggets::Env::UserEncodingMixin

Defined in:
lib/nuggets/env/user_encoding_mixin.rb

Instance Method Summary collapse

Instance Method Details

#user_encoding(default = 'UTF-8') ⇒ Object

call-seq:

ENV.user_encoding => aString

Finds the user’s selected encoding.



41
42
43
44
45
46
47
48
49
50
51
# File 'lib/nuggets/env/user_encoding_mixin.rb', line 41

def user_encoding(default = 'UTF-8')
  self['ENCODING'] || begin
    lang = self['LANG']
    lang[/\.(.*)/, 1] if lang
  end || if defined?(Win32::Console)
    "CP#{Win32::Console.InputCP}"
  elsif ::File::ALT_SEPARATOR
    cp = %x{chcp}[/:\s*(.*?)\./, 1]
    "CP#{cp}" if cp
  end || default
end