Sha256: fb48247284d9e7c19f3d53dccb669ea39b0650fdbb9be3e2cbe8568a4cee2d35

Contents?: true

Size: 974 Bytes

Versions: 23

Compression:

Stored size: 974 Bytes

Contents

require 'iapi-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

23 entries across 23 versions & 1 rubygems

Version Path
iapi-idlc-sdk-pfm-1.0.26 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.25 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.24 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.23 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.22 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.21 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.20 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.19 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.18 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.17 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.16 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.15 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.14 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.13 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.12 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.11 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.10 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.9 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.8 lib/iapi-idlc-sdk-pfm/command/configure.rb
iapi-idlc-sdk-pfm-1.0.7 lib/iapi-idlc-sdk-pfm/command/configure.rb