Method: GoodData::Label#values

Defined in:
lib/gooddata/models/metadata/label.rb

#values(options = {}) ⇒ Array

Returns all values for this label. This is for inspection purposes only since obviously there can be huge number of elements.

Parameters:

  • options (Hash) (defaults to: {})

    the options to pass to the value list

Options Hash (options):

  • :limit (Number)

    limits the number of values to certain number. Default is 100

Returns:

  • (Array)


91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/gooddata/models/metadata/label.rb', line 91

def values(options = {})
  all_values = []
  offset = options[:offset] || 0
  page_limit = options[:limit] || 100
  loop do
    results = get_valid_elements(limit: page_limit, offset: offset)

    elements = results['validElements']
    elements['items'].map do |el|
      v = el['element']
      all_values << {
        :value => v['title'],
        :uri => v['uri']
      }
    end
    break if elements['items'].count < page_limit

    offset += page_limit
  end
  all_values
end