Class/Module Index [+]

Quicksearch

HammerCLIForeman::AssociatedCommand

Public Class Methods

associated_resource(name=nil) click to toggle source
# File lib/hammer_cli_foreman/commands.rb, line 468
def self.associated_resource(name=nil)
  @associated_api_resource = HammerCLIForeman.foreman_resource!(name) unless name.nil?
  return @associated_api_resource if @associated_api_resource
  return superclass.associated_resource if superclass.respond_to? :associated_resource
end
create_option_builder() click to toggle source
# File lib/hammer_cli_foreman/commands.rb, line 444
def self.create_option_builder
  configurator = BuilderConfigurator.new(searchables, dependency_resolver)

  builder = ForemanOptionBuilder.new(searchables)
  builder.builders = [
    SearchablesOptionBuilder.new(resource, searchables),
    DependentSearchablesOptionBuilder.new(associated_resource, searchables)
  ]

  resources = []
  resources += dependency_resolver.resource_dependencies(resource, :only_required => true, :recursive => true)
  resources += dependency_resolver.resource_dependencies(associated_resource, :only_required => true, :recursive => true)
  resources.each do |r|
    builder.builders << DependentSearchablesOptionBuilder.new(r, searchables)
  end
  builder.builders << IdOptionBuilder.new(resource)

  builder
end

Public Instance Methods

associated_resource() click to toggle source
# File lib/hammer_cli_foreman/commands.rb, line 464
def associated_resource
  self.class.associated_resource
end
association_name(plural = false) click to toggle source
# File lib/hammer_cli_foreman/commands.rb, line 502
def association_name(plural = false)
  plural ? associated_resource.name.to_s : associated_resource.singular_name.to_s
end
get_associated_identifier() click to toggle source
# File lib/hammer_cli_foreman/commands.rb, line 474
def get_associated_identifier
  get_resource_id(associated_resource, :scoped => true)
end
get_current_ids() click to toggle source
# File lib/hammer_cli_foreman/commands.rb, line 482
def get_current_ids
  item = HammerCLIForeman.record_to_common_format(resource.call(:show, {:id => get_identifier}))
  if item.has_key?(association_name(true))
    item[association_name(true)].map { |assoc| assoc['id'] }
  else
    item[association_name+'_ids'] || []
  end
end
get_new_ids() click to toggle source
# File lib/hammer_cli_foreman/commands.rb, line 478
def get_new_ids
  []
end
request_params() click to toggle source
# File lib/hammer_cli_foreman/commands.rb, line 491
def request_params
  params = super
  if params.key?(resource.singular_name)
    params[resource.singular_name] = {"#{association_name}_ids" => get_new_ids }
  else
    params["#{association_name}_ids"] = get_new_ids
  end
  params['id'] = get_identifier
  params
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.