Re:Building a Command-Line Application with Crystal
by name_for_now on Thursday March 23, 2017 @11:18PM
(#13946333)
Here's a quick gist that does what I think you want, modulo any specific error handling. https://gist.github.com/usernamefornow/14f972df9429146b46846...
edit: note that the cleanest way would probably to write your own converter so you could avoid the union type, but I didn't want to put that in and have to write a comment about it.
Re:Building a Command-Line Application with Crystal
by jclem on Thursday March 23, 2017 @11:28PM
(#13946371)
Makes sense, thanks. For some reason, I was set on parsing the "env" values into instances of the same class, regardless of what type they were in JSON, but it's not really necessary. I'll also look into writing custom converters, because I'll likely need that in the future.
Re:Building a Command-Line Application with Crystal
by name_for_now on Thursday March 23, 2017 @10:55PM
(#13946241)
You can pass union types to the macro, so that should handle your "varying types" problem. In terms of nesting, I just create another struct with its own JSON.mapping and use that as the type for the field.
This post is very much about my first pass at this and my first experience with Crystal. Cleaning up the JSON parsing is the next item on my list when I have time.