module CMess::GuessEncoding::Encoding
Namespace for our encodings.
Private Class Methods
included(base)
click to toggle source
# File lib/cmess/guess_encoding/encoding.rb, line 80 def self.included(base) base.extend(self) end
Public Instance Methods
[](encoding)
click to toggle source
# File lib/cmess/guess_encoding/encoding.rb, line 46 def [](encoding) get_or_set_encoding_const(encoding) end
all_encodings()
click to toggle source
# File lib/cmess/guess_encoding/encoding.rb, line 41 def all_encodings const_defined?(:ALL_ENCODINGS) ? ALL_ENCODINGS : const_set(:ALL_ENCODINGS, get_all_encodings) end
Private Instance Methods
const_name_for(encoding)
click to toggle source
# File lib/cmess/guess_encoding/encoding.rb, line 56 def const_name_for(encoding) encoding.tr('-', '_').gsub(/\W/, '').sub(/\A\d/, 'ENC_\&').upcase end
get_all_encodings()
click to toggle source
# File lib/cmess/guess_encoding/encoding.rb, line 52 def get_all_encodings Encoding.name_list.map { |encoding| get_or_set_encoding_const(encoding) } end
get_or_set_encoding_const(encoding)
click to toggle source
# File lib/cmess/guess_encoding/encoding.rb, line 64 def get_or_set_encoding_const(encoding) const_defined?(const = const_name_for(encoding)) ? const_get(const) : set_encoding_const(encoding, const) end
set_encoding_const(encoding, const = const_name_for(encoding))
click to toggle source
# File lib/cmess/guess_encoding/encoding.rb, line 60 def set_encoding_const(encoding, const = const_name_for(encoding)) const_set(const, encoding.freeze) end