modified the way that the FlagMeta default string gets generated based on Array vs LITERALLY anything else
This commit is contained in:
+10
-1
@@ -74,11 +74,20 @@ module CliGen
|
|||||||
{% elem = T.type_vars.first %}
|
{% elem = T.type_vars.first %}
|
||||||
{% raise "ERROR : Flag(#{T}) : Error your flag subtype #{elem} must have a to_s method" unless elem.class.has_method? :to_s %}
|
{% raise "ERROR : Flag(#{T}) : Error your flag subtype #{elem} must have a to_s method" unless elem.class.has_method? :to_s %}
|
||||||
{% end %}
|
{% end %}
|
||||||
|
unless @default.nil?
|
||||||
|
{% if T < Array %}
|
||||||
|
default = "[" + @default.not_nil!.map(&.to_s).join(", ") + "]"
|
||||||
|
{% else %}
|
||||||
|
default = @default.not_nil!.to_s
|
||||||
|
{% end %}
|
||||||
|
else
|
||||||
|
default = nil
|
||||||
|
end
|
||||||
meta = FlagMeta.new(
|
meta = FlagMeta.new(
|
||||||
type: {{T.stringify}},
|
type: {{T.stringify}},
|
||||||
array: {{ T < Array ? true : false }},
|
array: {{ T < Array ? true : false }},
|
||||||
options: {% if T < Array %} @options.try(&.first.map(&.to_s)) {% else %} @options.try(&.map(&.to_s)) {% end %},
|
options: {% if T < Array %} @options.try(&.first.map(&.to_s)) {% else %} @options.try(&.map(&.to_s)) {% end %},
|
||||||
default: @default.try(&.to_s),
|
default: default,
|
||||||
format: @format.try(&.source)
|
format: @format.try(&.source)
|
||||||
)
|
)
|
||||||
super(var, short, long, env_var, description, delimiter, meta)
|
super(var, short, long, env_var, description, delimiter, meta)
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ Flags:
|
|||||||
<%- else -%>
|
<%- else -%>
|
||||||
<%- flags = [flag.short,flag.long.strip] -%>
|
<%- flags = [flag.short,flag.long.strip] -%>
|
||||||
<%- end -%>
|
<%- end -%>
|
||||||
<%= "%-#{len}s %s" % [flags.join(","), flag.description.strip] %><%= flag.meta.options.nil? ? "" : " (valid: #{flag.meta.options.not_nil!.join(", ")})" %><%= flag.meta.default.nil? ? "" : " (default: #{flag.meta.default.to_s})" %>
|
<%= "%-#{len}s %s" % [flags.join(","), flag.description.strip] %><%= flag.meta.options.nil? ? "" : " (valid: #{flag.meta.options.not_nil!.join(", ")})" %><%= flag.meta.default.nil? ? "" : " (default: #{flag.meta.default.not_nil!})" %>
|
||||||
<%- if verbose? -%>
|
<%- if verbose? -%>
|
||||||
<%= "%-#{len}s %s" % ["", "Type: #{flag.meta.type}"] %>
|
<%= "%-#{len}s %s" % ["", "Type: #{flag.meta.type}"] %>
|
||||||
<%= "%-#{len}s %s" % ["", "ENV VAR: #{flag.env_var}"] %>
|
<%= "%-#{len}s %s" % ["", "ENV VAR: #{flag.env_var}"] %>
|
||||||
|
|||||||
Reference in New Issue
Block a user