Class: DocomoWebMailer::RHash

Inherits:
Object
  • Object
show all
Defined in:
lib/docomo_web_mailer.rb

Overview

Structの用に扱えるハッシュ。{ ‘$R’=>クラス名, .… } 形式のハッシュを扱うために用いる

Direct Known Subclasses

Mailheaders, Mailsummary, Mimepartspec

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ RHash

Returns a new instance of RHash.



240
241
242
243
244
# File 'lib/docomo_web_mailer.rb', line 240

def initialize(data)
  raise "invalid parameta" unless data.is_a? Hash
  @data = Parser.hash_to_ruby(data)
  @data.delete('$R')
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(sym, *args, &block) ⇒ Object

ハッシュのキーをメソッドのようにも使える



246
247
248
249
250
251
252
# File 'lib/docomo_web_mailer.rb', line 246

def method_missing(sym, *args, &block)
  if @data.has_key? sym.to_s
    @data[sym.to_s]
  else
    @data.send sym, *args, &block
  end
end

Instance Method Details

#inspectObject

:nodoc:



253
254
255
# File 'lib/docomo_web_mailer.rb', line 253

def inspect #:nodoc:
  "#{self.class.to_s.split('::').last}"+@data.inspect
end