def dependent_options(resource, resource_name_map)
options = []
searchables = @searchables.for(resource)
resource_name = resource.singular_name
aliased_name = aliased(resource_name, resource_name_map)
unless searchables.empty?
first = searchables[0]
remaining = searchables[1..-1] || []
options << option(
optionamize("--#{aliased_name}"),
"#{aliased_name}_#{first.name}".upcase,
first.description || " ",
:attribute_name => HammerCLI.option_accessor_name("#{resource_name}_#{first.name}"),
:referenced_resource => resource.singular_name
)
remaining.each do |s|
options << option(
optionamize("--#{aliased_name}-#{s.name}"),
"#{aliased_name}_#{s.name}".upcase,
s.description || " ",
:attribute_name => HammerCLI.option_accessor_name("#{resource_name}_#{s.name}"),
:referenced_resource => resource.singular_name
)
end
end
options << option(
optionamize("--#{aliased_name}-id"),
"#{aliased_name}_id".upcase,
description("id", :show),
:attribute_name => HammerCLI.option_accessor_name("#{resource_name}_id"),
:format => HammerCLI::Options::Normalizers::Number.new,
:referenced_resource => resource.singular_name
)
options
end