Method: EmailObject#to_hash
- Defined in:
- lib/email_api/email/data/email_object.rb
#to_hash ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/email_api/email/data/email_object.rb', line 24 def to_hash hash = {} instance_variables.each do |var| name = var.to_s.delete('@') value = instance_variable_get(var) val_hash = value.to_hash if value.respond_to?(:to_hash) # Array doesn't implicitly convert to hash automatically if val_hash.nil? && value.is_a?(Array) val_hash = [] value.each do |val| val_hash.push val.to_hash if val.respond_to?(:to_hash) end end hash[name] = val_hash.nil? ? value : val_hash end hash end |