Module: Virginity::Encodings

Included in:
ContentLine, ContentLine, DirectoryInformation, EncodingDecoding, Vcard, Vcard21::Parser
Defined in:
lib/virginity/encodings.rb

Instance Method Summary collapse

Instance Method Details

#binary?(s) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
# File 'lib/virginity/encodings.rb', line 4

def binary?(s)
  s.encoding == Encoding::BINARY
end

#to_ascii(s) ⇒ Object



12
13
14
# File 'lib/virginity/encodings.rb', line 12

def to_ascii(s)
  s.dup.force_encoding(Encoding::ASCII)
end

#to_binary(s) ⇒ Object



8
9
10
# File 'lib/virginity/encodings.rb', line 8

def to_binary(s)
  s.dup.force_encoding(Encoding::BINARY)
end

#to_default(s) ⇒ Object



16
17
18
# File 'lib/virginity/encodings.rb', line 16

def to_default(s)
  s.encode
end

#to_default!(s) ⇒ Object



20
21
22
# File 'lib/virginity/encodings.rb', line 20

def to_default!(s)
  s.encode!
end

#verify_utf8ness(string) ⇒ Object



24
25
26
27
28
29
30
31
32
33
# File 'lib/virginity/encodings.rb', line 24

def verify_utf8ness(string)
  if string.encoding == Encoding::UTF_8 || string.encoding == Encoding::US_ASCII
    unless string.valid_encoding?
      # puts "*"*100, "incorrectly encoded String", string, "*"*100
      raise InvalidEncoding, "incorrectly encoded String"
    end
  else
    raise InvalidEncoding, "expected UTF-8 or ASCII"
  end
end