class Findr::Encoder::String
Public Class Methods
list()
click to toggle source
Returns a list of valid encodings
# File lib/findr/encoder/string.rb, line 30 def self.list return Encoding.list.map(&:to_s) end
new( other_coding )
click to toggle source
# File lib/findr/encoder/string.rb, line 4 def initialize( other_coding ) @other_coding = other_coding.split(',').map {|coding| Encoding.find(coding)} end
Public Instance Methods
decode( string )
click to toggle source
Encodes given string
from +@other_coding+ to utf8.
# File lib/findr/encoder/string.rb, line 9 def decode( string ) coding = nil have_valid_coding = @other_coding.any? do |c| string.force_encoding(c) coding = c string.valid_encoding? end fail Error.new("No valid coding given.") unless have_valid_coding return [string.encode('UTF-8'), coding.to_s] rescue raise Error, "Error when decoding from '#{@other_coding}' into 'UTF-8': #{$!}" end
encode( string, coding )
click to toggle source
Encodes given utf8 string
into coding
.
# File lib/findr/encoder/string.rb, line 23 def encode( string, coding ) return string.encode(coding) rescue raise Error, "Error when encoding from 'UTF-8' into '#{coding}'." end