Class: Hash

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

Overview

Utility Hash methods

Instance Method Summary collapse

Instance Method Details

#collapse_keyHash

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

Returns:

  • (Hash)

    modified Hash



33
34
35
# File 'lib/eveapi/util.rb', line 33

def collapse_key
  length == 1 ? self.merge!(delete(keys.first)) : self
end

#detailsHash, Array

Try to get defails on a Hash returned from CREST

Returns:

  • (Hash, Array)

    return a detailed JSON of a CREST object



6
7
8
# File 'lib/eveapi/util.rb', line 6

def details
  convert_hash_keys json_get(self[:href]) if self[:href]
end

#normalize_array_rowsetHash

Cleanup not needed keys from the result

Returns:

  • (Hash)

    modified Hash



48
49
50
51
52
53
# 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_rowsetHash

Cleanup not needed keys from the result

Returns:

  • (Hash)

    modified Hash



40
41
42
43
# File 'lib/eveapi/util.rb', line 40

def normalize_hash_rowset
  self.merge!(self['rowset']['name'] => self['rowset']['row'])
  delete('rowset')
end

#process_rowsHash

Process rows of API request data, normalize, symbolize

Returns:

  • (Hash)

    Processed API result



20
21
22
23
24
25
26
27
28
# 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_nameSymbol

Generate a ruby method_name from a API Call list Hash

Returns:



13
14
15
# File 'lib/eveapi/util.rb', line 13

def ruby_method_name
  (self[:type][0..3].downcase + '_' + self[:name].underscore).to_sym
end