lib/hammer_cli/options/normalizers.rb in hammer_cli-0.19.2 vs lib/hammer_cli/options/normalizers.rb in hammer_cli-2.0.0

- old
+ new

@@ -109,14 +109,14 @@ end end class ListNested < AbstractNormalizer class Schema < Array - def description + def description(richtext: true) '"' + reduce([]) do |schema, nested_param| name = nested_param.name - name = HighLine.color(name, :bold) if nested_param.required? + name = HighLine.color(name, :bold) if nested_param.required? && richtext values = nested_param.validator.scan(/<[^>]+>[\w]+<\/?[^>]+>/) value_pattern = if values.empty? "<#{nested_param.expected_type.downcase}>" else values = values.map do |value| @@ -170,10 +170,13 @@ end class Bool < AbstractNormalizer + def allowed_values + ['yes', 'no', 'true', 'false', '1', '0'] + end def description _('One of %s.') % ['true/false', 'yes/no', '1/0'].join(', ') end @@ -187,11 +190,11 @@ raise ArgumentError, _('Value must be one of %s.') % ['true/false', 'yes/no', '1/0'].join(', ') end end def complete(value) - ["yes ", "no "] + allowed_values.map { |v| v + ' ' } end end class File < AbstractNormalizer @@ -278,9 +281,10 @@ raise ArgumentError, _("'%s' is not a valid date.") % date end end class EnumList < AbstractNormalizer + attr_reader :allowed_values def initialize(allowed_values) @allowed_values = allowed_values end