Class: Musicality::DrumKit

Inherits:
Object
  • Object
show all
Defined in:
lib/musicality/composition/sequencing/drum_machine/drum_kit.rb

Overview

A collection of settings for performing drum parts

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(part_settings) ⇒ DrumKit

Returns a new instance of DrumKit.



6
7
8
9
10
11
12
13
14
15
# File 'lib/musicality/composition/sequencing/drum_machine/drum_kit.rb', line 6

def initialize part_settings
  non_drumpart_names = part_settings.select do |part_name|
    !DRUM_PARTS.include?(part_name)
  end
  if non_drumpart_names.any?
    raise ArgumentError, "Part-names used that are not drum parts: #{non_drumpart_names.inspect}"
  end

  @part_settings = part_settings.freeze
end

Instance Attribute Details

#part_settingsObject (readonly)

Returns the value of attribute part_settings.



5
6
7
# File 'lib/musicality/composition/sequencing/drum_machine/drum_kit.rb', line 5

def part_settings
  @part_settings
end