Class: Tetsujin::Instrument::Guitar::Factory

Inherits:
Object
  • Object
show all
Defined in:
lib/tetsujin/instrument/guitar/factory.rb

Class Method Summary collapse

Class Method Details

.create(tunings:, fretboard_length:) ⇒ Tetsujin::Instrument::Guitar

Parameters:

  • tunings (Array<Tetsujin::Theory::Note>)

    チューニング 低い方から順に

  • fretboard_length (Integer)

    フレット数

Returns:



6
7
8
9
10
11
12
13
14
15
# File 'lib/tetsujin/instrument/guitar/factory.rb', line 6

def self.create(tunings:, fretboard_length:)
  strings = tunings.reverse.map.with_index(1) do |tuning, string_number|
    Tetsujin::Instrument::Guitar::String.new(
      tuning: tuning,
      string_number: string_number,
      fretboard_length: fretboard_length
    )
  end
  Tetsujin::Instrument::Guitar.new(strings: strings)
end