Class: Tetsujin::Theory::Note::Factory

Inherits:
Object
  • Object
show all
Defined in:
lib/tetsujin/theory/note/factory.rb

Class Method Summary collapse

Class Method Details

.create_from_name(name:, octave:) ⇒ Tetsujin::Theory::Note

Parameters:

  • name (String | Symbol)

    音名

  • octave (Integer)

    オクターブ

Returns:

Raises:

  • (TypeError)


39
40
41
42
43
44
# File 'lib/tetsujin/theory/note/factory.rb', line 39

def self.create_from_name(name:, octave:)
  raise TypeError unless name.is_a?(String) || name.is_a?(Symbol)
  pitch_class = search_pitch_class(name.to_s)
  raise ArgumentError unless pitch_class
  Tetsujin::Theory::Note.new(pitch_class: pitch_class, octave: octave)
end