Class: HeadMusic::Style::Guidelines::ApproachPerfectionContrarily

Inherits:
HeadMusic::Style::Guideline show all
Defined in:
lib/head_music/style/guidelines/approach_perfection_contrarily.rb

Overview

A counterpoint guideline

Instance Method Summary collapse

Constructor Details

This class inherits a constructor from HeadMusic::Style::Guideline

Instance Method Details

#marksObject



6
7
8
9
10
# File 'lib/head_music/style/guidelines/approach_perfection_contrarily.rb', line 6

def marks
  motions_to_perfect_consonance_approached_directly.map do |bad_motion|
    HeadMusic::Style::Mark.for_all(bad_motion.notes)
  end
end

#motions_to_perfect_consonanceObject (private)



18
19
20
21
22
# File 'lib/head_music/style/guidelines/approach_perfection_contrarily.rb', line 18

def motions_to_perfect_consonance
  motions.select do |motion|
    motion.second_harmonic_interval.perfect_consonance?
  end
end

#motions_to_perfect_consonance_approached_directlyObject (private)



14
15
16
# File 'lib/head_music/style/guidelines/approach_perfection_contrarily.rb', line 14

def motions_to_perfect_consonance_approached_directly
  motions_to_perfect_consonance.select(&:direct?)
end