# File lib/hammer_cli/apipie/option_builder.rb, line 82 def aliased(param, resource_name_map) resource_name = resource_name(param) if resource_name.nil? return param.name else aliased_name = resource_name_map[resource_name.to_s] || resource_name_map[resource_name.to_sym] || resource_name return param.name.gsub(resource_name, aliased_name.to_s) end end
# File lib/hammer_cli/apipie/option_builder.rb, line 43 def create_option(param, resource_name_map) option( option_switch(param, resource_name_map), option_type(param, resource_name_map), option_desc(param), option_opts(param) ) end
# File lib/hammer_cli/apipie/option_builder.rb, line 26 def option(*args) HammerCLI::Apipie::OptionDefinition.new(*args) end
# File lib/hammer_cli/apipie/option_builder.rb, line 60 def option_desc(param) param.description || " " end
# File lib/hammer_cli/apipie/option_builder.rb, line 64 def option_opts(param) opts = {} opts[:required] = true if (param.required? and require_options?) if param.expected_type == :array || param.validator =~ /Array/ opts[:format] = HammerCLI::Options::Normalizers::List.new elsif param.expected_type == 'boolean' || param.validator =~ /Boolean/ opts[:format] = HammerCLI::Options::Normalizers::Bool.new elsif param.validator =~ /Must be one of: (.*)\./ opts[:format] = HammerCLI::Options::Normalizers::Enum.new($1.split(/,\ ?/)) elsif param.expected_type == 'number' || param.validator =~ /Number/ opts[:format] = HammerCLI::Options::Normalizers::Number.new end opts[:attribute_name] = HammerCLI.option_accessor_name(param.name) opts[:referenced_resource] = resource_name(param) return opts end
# File lib/hammer_cli/apipie/option_builder.rb, line 52 def option_switch(param, resource_name_map) '--' + optionamize(aliased(param, resource_name_map)) end
# File lib/hammer_cli/apipie/option_builder.rb, line 56 def option_type(param, resource_name_map) aliased(param, resource_name_map).upcase.gsub('-', '_') end
# File lib/hammer_cli/apipie/option_builder.rb, line 30 def options_for_params(params, filter, resource_name_map) opts = [] params.each do |p| next if filter.include?(p.name) || filter.include?(p.name.to_sym) if p.expected_type == :hash opts += options_for_params(p.params, filter, resource_name_map) else opts << create_option(p, resource_name_map) end end opts end
Generated with the Darkfish Rdoc Generator 2.