Class: HeadMusic::Consonance
- Inherits:
-
Object
- Object
- HeadMusic::Consonance
- Defined in:
- lib/head_music/consonance.rb
Overview
Consonance describes a category or degree of harmonic pleasantness: perfect, imperfect, or dissonant
Constant Summary collapse
- LEVELS =
%w[perfect imperfect dissonant].freeze
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
Instance Method Summary collapse
- #==(other) ⇒ Object
-
#initialize(name) ⇒ Consonance
constructor
A new instance of Consonance.
Constructor Details
#initialize(name) ⇒ Consonance
Returns a new instance of Consonance.
16 17 18 |
# File 'lib/head_music/consonance.rb', line 16 def initialize(name) @name = name.to_s.to_sym end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
12 13 14 |
# File 'lib/head_music/consonance.rb', line 12 def name @name end |
Class Method Details
.get(name) ⇒ Object
7 8 9 10 |
# File 'lib/head_music/consonance.rb', line 7 def self.get(name) @consonances ||= {} @consonances[name.to_sym] ||= new(name) if LEVELS.include?(name.to_s) end |
Instance Method Details
#==(other) ⇒ Object
20 21 22 |
# File 'lib/head_music/consonance.rb', line 20 def ==(other) to_s == other.to_s end |