class Hash

Utility Hash methods

Public Instance Methods

collapse_key() click to toggle source

Merge the value of the one and only key with the Hash

@return [Hash] modified Hash

# File lib/eveapi/util.rb, line 33
def collapse_key
  length == 1 ? self.merge!(delete(keys.first)) : self
end
details() click to toggle source

Try to get defails on a Hash returned from CREST

@return [Hash, Array] return a detailed JSON of a CREST object

# File lib/eveapi/util.rb, line 6
def details
  convert_hash_keys json_get(self[:href]) if self[:href]
end
normalize_array_rowset() click to toggle source

Cleanup not needed keys from the result

@return [Hash] modified Hash

# File lib/eveapi/util.rb, line 48
def normalize_array_rowset
  self['rowset'].each do |rowset|
    self[rowset['name']] = rowset['row']
  end
  delete('rowset')
end
normalize_hash_rowset() click to toggle source

Cleanup not needed keys from the result

@return [Hash] modified Hash

# File lib/eveapi/util.rb, line 40
def normalize_hash_rowset
  self.merge!(self['rowset']['name'] => self['rowset']['row'])
  delete('rowset')
end
process_rows() click to toggle source

Process rows of API request data, normalize, symbolize

@return [Hash] Processed API result

# File lib/eveapi/util.rb, line 20
def process_rows
  case self['rowset']
  when Hash
    normalize_hash_rowset
  when Array
    normalize_array_rowset
  end
  collapse_key
end
ruby_method_name() click to toggle source

Generate a ruby method_name from a API Call list Hash

@return [Symbol] method name

# File lib/eveapi/util.rb, line 13
def ruby_method_name
  (self[:type][0..3].downcase + '_' + self[:name].underscore).to_sym
end