def builders_for(resource, action)
builders = []
dependent_resources = []
if action.params.find{ |p| p.name == "id" }
builders << SearchablesOptionBuilder.new(resource, @searchables)
dependent_resources += @dependency_resolver.resource_dependencies(resource, :only_required => true, :recursive => true)
end
dependent_resources += @dependency_resolver.action_dependencies(action, :only_required => false, :recursive => false)
dependent_resources += @dependency_resolver.action_dependencies(action, :only_required => true, :recursive => true)
unique(dependent_resources).each do |dep_resource|
builders << DependentSearchablesOptionBuilder.new(dep_resource, @searchables)
end
IdArrayParamsFilter.new(:only_required => false).for_action(action).each do |p|
resource = HammerCLIForeman.param_to_resource(p.name)
builders << DependentSearchablesArrayOptionBuilder.new(resource, @searchables) unless resource.nil?
end
builders
end