acquia/moonshot

View on GitHub
lib/moonshot/commands/parameter_arguments.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

# rubocop:disable Layout/LineLength
module Moonshot
  module Commands
    module ParameterArguments
      def parser
        parser = super

        parser.on('--[no-]interactive', TrueClass, 'Use interactive prompts for gathering missing configuration.') do |v|
          Moonshot.config.interactive = v
        end

        parser.on('--answer-file FILE', '-aFILE', 'Load Stack Parameters from a YAML file') do |v|
          Moonshot.config.answer_file = File.expand_path(v)
        end

        parser.on('--parameter KEY=VALUE', '-PKEY=VALUE', 'Specify Stack Parameter on the command line') do |v|
          data = v.split('=', 2)
          raise "Invalid parameter format '#{v}', expected KEY=VALUE (e.g. MyStackParameter=12)" unless data.size == 2

          Moonshot.config.parameter_overrides[data[0]] = data[1]
        end
      end
    end
  end
end
# rubocop:enable Layout/LineLength