Methods
- C
- D
-
- def_convert,
- def_else_enc,
- def_iconv_convert,
- def_same_enc,
- def_to_euc_jp_from_iso_2022_jp,
- def_to_euc_jp_from_shift_jis,
- def_to_euc_jp_from_utf_8,
- def_to_iso_2022_jp_from_euc_jp,
- def_to_iso_8859_1_from_utf_8,
- def_to_shift_jis_from_euc_jp,
- def_to_shift_jis_from_utf_8,
- def_to_utf_8_from_euc_jp,
- def_to_utf_8_from_iso_8859_1,
- def_to_utf_8_from_shift_jis,
- def_uconv_convert_if_can
- N
Included Modules
Class Public methods
new(to_enc, from_enc=nil)
Link
# File lib/rss/converter.rb, line 9 def initialize(to_enc, from_enc=nil) if "".respond_to?(:encode) @to_encoding = to_enc return end normalized_to_enc = to_enc.downcase.gsub(/-/, '_') from_enc ||= 'utf-8' normalized_from_enc = from_enc.downcase.gsub(/-/, '_') if normalized_to_enc == normalized_from_enc def_same_enc() else def_diff_enc = "def_to_#{normalized_to_enc}_from_#{normalized_from_enc}" if respond_to?(def_diff_enc) __send__(def_diff_enc) else def_else_enc(to_enc, from_enc) end end end
Instance Public methods
convert(value)
Link
def_convert(depth=0)
Link
def_else_enc(to_enc, from_enc)
Link
def_iconv_convert(to_enc, from_enc, depth=0)
Link
# File lib/rss/converter.rb, line 49 def def_iconv_convert(to_enc, from_enc, depth=0) begin require "iconv" @iconv = Iconv.new(to_enc, from_enc) def_convert(depth+1) do |value| <<-EOC begin @iconv.iconv(#{value}) rescue Iconv::Failure raise ConversionError.new(#{value}, "#{to_enc}", "#{from_enc}") end EOC end rescue LoadError, ArgumentError, SystemCallError raise UnknownConversionMethodError.new(to_enc, from_enc) end end
def_same_enc()
Link
def_to_euc_jp_from_iso_2022_jp()
Link
def_to_euc_jp_from_shift_jis()
Link
def_to_euc_jp_from_utf_8()
Link
def_to_iso_2022_jp_from_euc_jp()
Link
def_to_iso_8859_1_from_utf_8()
Link
# File lib/rss/converter.rb, line 151 def def_to_iso_8859_1_from_utf_8 def_convert do |value| <<-EOC array_utf8 = #{value}.unpack('U*') array_enc = [] array_utf8.each do |num| if num <= 0xFF array_enc << num else array_enc.concat "&\#\#{num};".unpack('C*') end end array_enc.pack('C*') EOC end end
def_to_shift_jis_from_euc_jp()
Link
def_to_shift_jis_from_utf_8()
Link
def_to_utf_8_from_euc_jp()
Link
def_to_utf_8_from_iso_8859_1()
Link
def_to_utf_8_from_shift_jis()
Link
def_uconv_convert_if_can(meth, to_enc, from_enc, nkf_arg)
Link
# File lib/rss/converter.rb, line 77 def def_uconv_convert_if_can(meth, to_enc, from_enc, nkf_arg) begin require "uconv" def_convert(1) do |value| <<-EOC begin Uconv.#{meth}(#{value}) rescue Uconv::Error raise ConversionError.new(#{value}, "#{to_enc}", "#{from_enc}") end EOC end rescue LoadError require 'nkf' if NKF.const_defined?(:UTF8) def_convert(1) do |value| "NKF.nkf(#{nkf_arg.dump}, #{value})" end else def_iconv_convert(to_enc, from_enc, 1) end end end