Class: HeadMusic::Style::Tradition

Inherits:
Object
  • Object
show all
Defined in:
lib/head_music/style/tradition.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.get(name) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/head_music/style/tradition.rb', line 4

def self.get(name)
  case name&.to_sym
  when :modern, :standard_practice then ModernTradition.new
  when :renaissance_counterpoint, :two_part_harmony then RenaissanceTradition.new
  when :medieval then MedievalTradition.new
  else ModernTradition.new
  end
end

Instance Method Details

#consonance_classification(interval) ⇒ Object

Raises:

  • (NotImplementedError)


13
14
15
# File 'lib/head_music/style/tradition.rb', line 13

def consonance_classification(interval)
  raise NotImplementedError, "#{self.class} must implement consonance_classification"
end

#nameObject



17
18
19
# File 'lib/head_music/style/tradition.rb', line 17

def name
  self.class.name.split("::").last.sub(/Tradition$/, "").downcase.gsub(" ", "_").to_sym
end