HammerCLI::OptionBuilderContainer
# File lib/hammer_cli_foreman/option_builders.rb, line 109 def build(builder_params={}) expansion_options = builder_params[:expand] || {} allowed_resources = expansion_options[:only] || default_dependent_resources allowed_resources -= expansion_options[:except] || [] allowed_resources += expansion_options[:including] || [] allowed_resources.uniq! primary_resource = expansion_options[:primary] to_remove = default_dependent_resources - allowed_resources to_add = allowed_resources - default_dependent_resources builders.reject! do |b| b.class <= DependentSearchablesOptionBuilder && to_remove.include?(b.resource.name) end to_add.each do |resource_name| builders << DependentSearchablesOptionBuilder.new(HammerCLIForeman.foreman_resource(resource_name), @searchables) end if !primary_resource.nil? builders.reject! do |b| b.class <= SearchablesOptionBuilder end builders << SearchablesOptionBuilder.new(HammerCLIForeman.foreman_resource(primary_resource), @searchables) if primary_resource != false end super end
Generated with the Darkfish Rdoc Generator 2.