Sha256: 7b23634e5d372bb8aeddbda67f2957404737de8874f01f76c16a05b7aa7f6511

Contents?: true

Size: 969 Bytes

Versions: 47

Compression:

Stored size: 969 Bytes

Contents

require 'idlc-sdk-pfm/command/base'
require 'mixlib/shellout'

module Pfm
  module Command
    class Configure < Pfm::Command::Base
      banner 'Usage: pfm configure SYSTEM_COMMAND'

      def run(params)
        current_set = Pfm::Settings.new
        new_settings = {}

        current_set.settings.each do |key, setting|
          print("#{key} [#{setting.value}]: ")
          stdin = STDIN.gets.chomp.strip

          required = setting.required?
          new_value = setting.value
          new_value = stdin unless null?(stdin)

          new_settings[key] = Pfm::Settings::Setting.new(new_value, required)
        end

        current_set.save_config(new_settings)
      end

      def needs_version?(_params)
        # Force version to get passed down to command
        false
      end

      def null?(value)
        value.nil? || value == ''
      end

      def needs_help?(params)
        ['-h', '--help'].include? params[0]
      end
    end
  end
end

Version data entries

47 entries across 47 versions & 1 rubygems

Version Path
idlc-sdk-pfm-1.2.2 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.2.1 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.2.0 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.1.4 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.1.3 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.1.2 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.1.1 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.1.0 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.0.21 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.0.20 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.0.19 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.0.18 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.0.17 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.0.16 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.0.15 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.0.14 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.0.13 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.0.12 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.0.11 lib/idlc-sdk-pfm/command/configure.rb
idlc-sdk-pfm-1.0.10 lib/idlc-sdk-pfm/command/configure.rb