Method: Musa::Datasets::Score#values_of

Defined in:
lib/musa-dsl/datasets/score.rb

#values_of(attribute) ⇒ Set

Collects all values for an attribute.

Returns set of all unique values across all events.

Examples:

Get all pitches

pitches = score.values_of(:pitch)
# => #<Set: {60, 64, 67}>

Get all grades

grades = score.values_of(:grade)
# => #<Set: {0, 2, 4}>

Parameters:

  • attribute (Symbol)

    attribute key

Returns:

  • (Set)

    set of unique values



419
420
421
422
423
424
425
# File 'lib/musa-dsl/datasets/score.rb', line 419

def values_of(attribute)
  values = Set[]
  @score.each_value do |slot|
    slot.each { |dataset| values << dataset[attribute] }
  end
  values
end