Sha256: 1474fc6965367ce108e85f949fb8d45513de988d0563fd29af6a6f215faffac0

Contents?: true

Size: 901 Bytes

Versions: 8

Compression:

Stored size: 901 Bytes

Contents

require 'hammer_cli'
module HammerCLIForeman
  class Defaults < HammerCLI::BaseDefaultsProvider
    def initialize
      @provider_name = 'foreman'
      @supported_defaults = [:organization_id, :location_id]
      @description = _('Use the default organization and/or location from the server')
    end

    def get_defaults(param)
      param = "default_organization" if param == :organization_id
      param = "default_location" if param == :location_id
      user = get_user
      val = nil
      if user
        val = user["results"].first[param] if user["results"]
        val = val["id"] if val.is_a?(Hash) && param.include?("default")
      end
      val
    end

    private
    def get_user
      HammerCLIForeman.foreman_resource(:users).action(:index).call(:search =>"login="+HammerCLIForeman.credentials.username)
    end
  end
  HammerCLI.defaults.register_provider(Defaults.new())

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
hammer_cli_foreman-0.9.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-0.8.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-0.7.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-0.6.2 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-0.6.1 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-0.6.0 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-0.5.1 lib/hammer_cli_foreman/defaults.rb
hammer_cli_foreman-0.5.0 lib/hammer_cli_foreman/defaults.rb