Class: Tetsujin::Instrument::Guitar::Fret

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(note:, string_number:, fret_number:) ⇒ Fret

Returns a new instance of Fret.

Parameters:

  • note (Tetsujin::Theory::Note)

  • string_number (Integer)

    弦番号

  • fret_number (Integer)

    フレット番号

Raises:

  • (TypeError)


10
11
12
13
14
15
16
17
18
19
# File 'lib/tetsujin/instrument/guitar/fret.rb', line 10

def initialize(note:, string_number:, fret_number:)
  raise TypeError unless note.is_a?(Tetsujin::Theory::Note)
  raise TypeError unless string_number.is_a?(Integer)
  raise TypeError unless fret_number.is_a?(Integer)

  @note = note
  @string_number = string_number
  @fret_number = fret_number
  @pressed = false
end

Instance Attribute Details

#fret_numberObject (readonly)

Returns the value of attribute fret_number.



5
6
7
# File 'lib/tetsujin/instrument/guitar/fret.rb', line 5

def fret_number
  @fret_number
end

#noteObject (readonly)

Returns the value of attribute note.



5
6
7
# File 'lib/tetsujin/instrument/guitar/fret.rb', line 5

def note
  @note
end

#string_numberObject (readonly)

Returns the value of attribute string_number.



5
6
7
# File 'lib/tetsujin/instrument/guitar/fret.rb', line 5

def string_number
  @string_number
end

Instance Method Details

#==(other) ⇒ Boolean

Parameters:

Returns:

  • (Boolean)


23
24
25
# File 'lib/tetsujin/instrument/guitar/fret.rb', line 23

def ==(other)
  note == other.note && string_number == other.string_number && fret_number == other.fret_number
end

#press!void

This method returns an undefined value.



33
34
35
# File 'lib/tetsujin/instrument/guitar/fret.rb', line 33

def press!
  @pressed = true
end

#pressed?Boolean

Returns フレットが押されているか.

Returns:

  • (Boolean)

    フレットが押されているか



28
29
30
# File 'lib/tetsujin/instrument/guitar/fret.rb', line 28

def pressed?
  pressed
end

#release!void

This method returns an undefined value.



38
39
40
# File 'lib/tetsujin/instrument/guitar/fret.rb', line 38

def release!
  @pressed = false
end