@@ -91,7 +91,7 @@ def assert_arg(key, value)
9191 assert_hash key , value , keys : Script ::Argument . option_keys
9292 assert_string "#{ key } .name" , value [ 'name' ]
9393 assert_optional_string "#{ key } .help" , value [ 'help' ]
94- assert_optional_string "#{ key } .default" , value [ 'default' ]
94+ assert_string_or_array "#{ key } .default" , value [ 'default' ]
9595 assert_optional_string "#{ key } .validate" , value [ 'validate' ]
9696 assert_boolean "#{ key } .required" , value [ 'required' ]
9797 assert_boolean "#{ key } .repeatable" , value [ 'repeatable' ]
@@ -106,6 +106,10 @@ def assert_arg(key, value)
106106 if value [ 'unique' ]
107107 assert value [ 'repeatable' ] , "#{ key } .unique does not make sense without nub`repeatable`"
108108 end
109+
110+ if value [ 'default' ] . is_a? Array
111+ assert value [ 'repeatable' ] , "#{ key } .default array does not make sense without nub`repeatable`"
112+ end
109113 end
110114
111115 def assert_flag ( key , value )
@@ -118,7 +122,7 @@ def assert_flag(key, value)
118122 assert_optional_string "#{ key } .short" , value [ 'short' ]
119123 assert_optional_string "#{ key } .help" , value [ 'help' ]
120124 assert_optional_string "#{ key } .arg" , value [ 'arg' ]
121- assert_optional_string "#{ key } .default" , value [ 'default' ]
125+ assert_string_or_array "#{ key } .default" , value [ 'default' ]
122126 assert_optional_string "#{ key } .validate" , value [ 'validate' ]
123127
124128 assert_boolean "#{ key } .private" , value [ 'private' ]
@@ -148,7 +152,12 @@ def assert_flag(key, value)
148152 end
149153
150154 if value [ 'unique' ]
151- assert value [ 'arg' ] && value [ 'repeatable' ] , "#{ key } .unique does not make sense without nub`arg` and nub`repeatable`"
155+ assert value [ 'arg' ] && value [ 'repeatable' ] ,
156+ "#{ key } .unique does not make sense without nub`arg` and nub`repeatable`"
157+ end
158+
159+ if value [ 'default' ] . is_a? Array
160+ assert value [ 'repeatable' ] , "#{ key } .default array does not make sense without nub`repeatable`"
152161 end
153162 end
154163
0 commit comments