Module: Erlang::ETF::Extensions::String

Defined in:
lib/erlang/etf/extensions/string.rb

Instance Method Summary collapse

Instance Method Details

#__erlang_evolve__Object



14
15
16
# File 'lib/erlang/etf/extensions/string.rb', line 14

def __erlang_evolve__
  ETF::Binary.new(self)
end

#__erlang_type__Object



10
11
12
# File 'lib/erlang/etf/extensions/string.rb', line 10

def __erlang_type__
  :binary
end

#from_utf8_binaryObject



26
27
28
# File 'lib/erlang/etf/extensions/string.rb', line 26

def from_utf8_binary
  force_encoding(UTF8_ENCODING).encode!
end

#to_utf8_binaryObject



18
19
20
21
22
23
24
# File 'lib/erlang/etf/extensions/string.rb', line 18

def to_utf8_binary
  encode(UTF8_ENCODING).force_encoding(BINARY_ENCODING)
rescue EncodingError
  data = dup.force_encoding(UTF8_ENCODING)
  raise unless data.valid_encoding?
  data.force_encoding(BINARY_ENCODING)
end