Class: Array

Inherits:
Object
  • Object
show all
Defined in:
lib/wavefront-cli/stdlib/array.rb,
lib/wavefront-cli/output/hcl/stdlib/array.rb

Overview

Extensions to stdlib Array

Instance Method Summary collapse

Instance Method Details

#longest_value_of(key) ⇒ Integer

Returns the length of the longest value in an array of hashes with the given key.

Parameters:

  • key to search for

Returns:

  • the length of the longest value in an array of hashes with the given key



17
18
19
# File 'lib/wavefront-cli/stdlib/array.rb', line 17

def longest_value_of(key)
  map { |v| v[key] }.max_length
end

#max_lengthInteger

Returns the length of the longest string or symbol in an array.

Returns:

  • the length of the longest string or symbol in an array



7
8
9
10
# File 'lib/wavefront-cli/stdlib/array.rb', line 7

def max_length
  return 0 if empty?
  map(&:to_s).map(&:length).max
end

#to_hcl_listString

Turn an array into a string which represents an HCL list

Returns:



9
10
11
# File 'lib/wavefront-cli/output/hcl/stdlib/array.rb', line 9

def to_hcl_list
  '[' + join(',') + ']'
end

#to_hcl_obj(indent = 0) ⇒ String

Turn an array into a string which represents an HCL object

Returns:



16
17
18
19
20
21
# File 'lib/wavefront-cli/output/hcl/stdlib/array.rb', line 16

def to_hcl_obj(indent = 0)
  outpad = ' ' * indent
  inpad = ' ' * (indent + 2)

  "\n#{outpad}{\n#{inpad}" + join("\n#{inpad}") + "\n#{outpad}}"
end