File: rexml/encodings/SHIFT-JIS.rb

Overview
Module Structure
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: REXML#1
  module: Encoding#2
has properties
method: decode_sjis (1/2) #6
method: encode_sjis (1/2) / 1 #10
constant: SJISTOU8 #16
constant: U8TOSJIS #17
method: decode_sjis (2/E) / 1 #19
method: encode_sjis (2/E) #23

Code

   1  module REXML
   2    module Encoding
   3      begin
   4        require 'uconv'
   5 
   6        def decode_sjis content
   7          Uconv::sjistou8(content)
   8        end
   9 
  10        def encode_sjis(str)
  11          Uconv::u8tosjis(str)
  12        end
  13      rescue LoadError
  14        require 'nkf'
  15 
  16        SJISTOU8 = '-Swm0x'
  17        U8TOSJIS = '-Wsm0x'
  18 
  19        def decode_sjis(str)
  20          NKF.nkf(SJISTOU8, str)
  21        end
  22 
  23        def encode_sjis content
  24          NKF.nkf(U8TOSJIS, content)
  25        end
  26      end
  27 
  28      b = proc do |obj|
  29        class << obj
  30          alias decode decode_sjis
  31          alias encode encode_sjis
  32        end
  33      end
  34      register("SHIFT-JIS", &b)
  35      register("SHIFT_JIS", &b)
  36    end
  37  end