@@ -129,7 +129,7 @@ result.args # => ["bar"]
129
129
result.unparsed_args # => ["baz"]
130
130
```
131
131
132
- ### Accessible Argument
132
+ ### Named Argument
133
133
134
134
``` crystal
135
135
class Model < Optarg::Model
139
139
140
140
result = Model.parse(%w(/path/to/src /path/to/build and more))
141
141
result.src_dir # => "/path/to/src"
142
+ result.args.src_dir # => "/path/to/src"
142
143
result.build_dir # => "/path/to/build"
143
- result.args # => ["and", "more"]
144
+ result.args.build_dir # => "/path/to/build"
145
+ result.args # => ["/path/to/src", "/path/to/build", "and", "more"]
146
+ result.args.named # => {"src_dir" => "/path/to/src", "build_dir" => "/path/to/build"}
147
+ result.args.nameless # => ["and", "more"]
144
148
```
145
149
146
150
### Inheritance (Reusable Model)
@@ -180,23 +184,15 @@ Model.parse %w(--goodbye) # raises "Goodbye, world!"
180
184
181
185
``` crystal
182
186
class Profile < Optarg::Model
183
- string "--birth", required: true
184
-
185
- def run
186
- puts "birth date: #{options.birth}"
187
- end
187
+ string "--birthday", required: true
188
188
end
189
189
190
- Birthday .parse %w() # raises a Required exception.
190
+ Profile .parse %w() # raises a Required exception.
191
191
```
192
192
193
193
``` crystal
194
194
class Compile < Optarg::Model
195
195
arg "source_file", required: true
196
-
197
- def run
198
- Compiler.compile options.source_file
199
- end
200
196
end
201
197
202
198
Compile.parse %w() # raises a Required exception.
@@ -246,6 +242,8 @@ and see [Features](#features).
246
242
247
243
## Release Notes
248
244
245
+ * v0.2.0
246
+ * (Breaking Change) Model#args separates values into nameless and named.
249
247
* v0.1.14
250
248
* Required Arguments and Options
251
249
* Minimum Length of Array
0 commit comments