class DocomoWebMailer::Parser

rcp で返ってきたデータをRubyフレンドリーにする

Public Class Methods

hash_to_ruby(data) click to toggle source

rcp で返ってきたHashデータをRubyフレンドリーにする

# File lib/docomo_web_mailer.rb, line 193
def self.hash_to_ruby(data)
  ret = {}
  for k,v in data
    ret[k]=rcp_to_ruby(v)
  end
  return ret
end
rcp_to_ruby(data) click to toggle source

rcp で返ってきたデータをRubyフレンドリーにする

# File lib/docomo_web_mailer.rb, line 201
def self.rcp_to_ruby(data)
  case data
  when Hash
    if data.keys.size==1
      case data.keys[0]
      when '$T'
      if data["$T"].is_a? Array
          return TArray.new(data)
        end
      when '$A'
        if data["$A"].is_a? String
          return data["$A"].to_sym
        end
      end
    end
  if data['$R'] and data['$R'].is_a? String
      # data type is data['$R']
      case data['$R']
      when 'mailheaders'
        return Mailheaders.new( data )
      when 'mailsummary'
        return Mailsummary.new( data )
      when 'mimepartspec'
        return Mimepartspec.new( data )
      end
  end
    return hash_to_ruby(data)
  when Array
    ret = []
    for v in data
      ret << rcp_to_ruby(v)
    end
    return ret
  end
  return data
end