Sha256: 629855325ae440f13552422f2b4f59116fabec80ac2c49e0d4b64367b76f9e9c

Contents?: true

Size: 712 Bytes

Versions: 3

Compression:

Stored size: 712 Bytes

Contents

module Coltrane
  module UI
    module Views
      class CustomProgression < View
        questions({
          progression_notation: {
            statement: 'What is the progression? (Ex: I-vi-IV-V)'
          },

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

          key: {
            statement: 'What is the key?'
          },
        })

        def render
          chords = Commands::GetChordsFromProgression.run(*params.values_at(:progression_notation, :key))
          Commands::GetRepresentationChords.run(params[:representation], chords)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
coltrane-4.0.5 lib/coltrane/ui/views/custom_progression.rb
coltrane-4.0.4 lib/coltrane/ui/views/custom_progression.rb
coltrane-4.0.3 lib/coltrane/ui/views/custom_progression.rb