class Hash

Public Instance Methods

to_outline() click to toggle source
# File lib/outline.rb, line 6
def to_outline
  convert_data = Proc.new do |data|
    data.each_with_object({}) do |(key, value), memo|
      if value.respond_to?(:to_hash) || value.respond_to?(:to_h)
        value = value.respond_to?(:to_hash) ? value.to_hash : value.to_h
        value = value.to_outline
      end
      
      memo[key] = value
    end
  end
  
  data = convert_data[ self ]
  
  Outline.new(data: data)
end