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.
14 15 16 |
# File 'lib/head_music/consonance.rb', line 14 def initialize(name) @name = name.to_s.to_sym end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
10 11 12 |
# File 'lib/head_music/consonance.rb', line 10 def name @name end |
Class Method Details
.get(name) ⇒ Object
5 6 7 8 |
# File 'lib/head_music/consonance.rb', line 5 def self.get(name) @consonances ||= {} @consonances[name.to_sym] ||= new(name) if LEVELS.include?(name.to_s) end |
Instance Method Details
#==(other) ⇒ Object
18 19 20 |
# File 'lib/head_music/consonance.rb', line 18 def ==(other) to_s == other.to_s end |