Sha256: 08200cc5321acae8f8c80bac9022789d50be9f44d9f97e2a8a740fe96269b92e

Contents?: true

Size: 1.21 KB

Versions: 19

Compression:

Stored size: 1.21 KB

Contents

module HammerCLIForeman
  module CommandExtensions
    class Status < HammerCLI::CommandExtensions
      before_print do |data|
        return if data['results'].nil?

        normalize_plugins(data['results']['foreman']['plugins'])
        data['results']['foreman']['smart_proxies'].each do |proxy|
          proxy['features'] = normalize_features(proxy['features'])
          proxy['failed_features'] = normalize_failed_features(proxy['failed_features'])
        end
      end

      def self.normalize_plugins(plugins)
        plugins.map! do |plugin|
          name, version = plugin.split(': ', 2)[1].split(', ', 3)[0..1]
          { name: name, version: version }
        end
      end

      def self.normalize_features(features)
        active_features = []
        features.each_pair do |name, version|
          active_features << {
            name: name,
            version: version
          }
        end
        active_features
      end

      def self.normalize_failed_features(features)
        failed_features = []
        features.each_pair do |name, error|
          failed_features << {
            name: name,
            error: error
          }
        end
        failed_features
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
hammer_cli_foreman-2.3.2 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-2.3.1 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-2.3.0 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-2.1.3 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-2.2.0 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-2.1.2 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-2.1.1 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-2.1.0 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-2.0.2 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-2.0.1 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-2.0.0 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-0.19.7 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-0.19.6 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-0.19.5 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-0.19.4 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-0.19.3 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-0.19.2 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-0.19.1 lib/hammer_cli_foreman/command_extensions/status.rb
hammer_cli_foreman-0.19.0 lib/hammer_cli_foreman/command_extensions/status.rb