Sha256: df703e27f8219181d6090107dd8b38fce47e65a7fdc2cb5d48dbdaa89cc4cd9f

Contents?: true

Size: 751 Bytes

Versions: 4

Compression:

Stored size: 751 Bytes

Contents

module Coltrane
  module UI
    module Views
      class ShowProgression < BaseView
        questions({
          progression: {
            statement: 'What is the progression?',
            options: Commands::AvailableNotableProgressions.run
          },

          representation: {
            statement: 'How do you wanna see the chords?',
            options: Commands::AvailableChordRepresentations.run
          },

          root: { statement: 'Start at which note? (Ex: C; D#; Fb)' }
        })

        def render
          chords = Commands::GetChordsFromNotableProgression.run(*params.values_at(:progression, :root))
          Commands::GetRepresentationChords.run(params[:representation], chords)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
coltrane-4.1.2 lib/coltrane/ui/views/show_progression.rb
coltrane-4.1.1 lib/coltrane/ui/views/show_progression.rb
coltrane-4.1.0 lib/coltrane/ui/views/show_progression.rb
coltrane-4.0.6 lib/coltrane/ui/views/show_progression.rb