Issue #6780 has been updated by Randall Hansen.
These syntaxes are internally consistent and not insane. However, I feel like
we're optimizing for programmer efficiency for people creating Faces, rather
than ease-of-use for people using a Face on the CLI.
What is this option `foo` that needs to be able to take so many input formats?
Do we have a use case? If someone writing a Face asked me, I'd recommend
separate options for different formats.
If we are going to generate format arguments programmatically, I'd prefer
appending "-as-$format" to the end. E.g.,
puppet face action --foo-as-yaml='YAML'
puppet face action --foo-as-file=/path/to/file/
----------------------------------------
Feature #6780: Implement type checking/coercion for action args
https://projects.puppetlabs.com/issues/6780
Author: Pieter van de Bruggen
Status: Accepted
Priority: Normal
Assignee: Daniel Pittman
Category: Faces
Target version: 2.7.x
Affected Puppet version: 2.7.0rc1
Keywords:
Branch:
The expectation is that actions should be able to transparently have
typechecked signatures, and that automatic coercions will happen for certain
argument types.
Consider:
option "--foo FOO", String
# => option requires a string; should it automatically to_s on an array? I
suspect not...
option "--foo FOO", Puppet::Resource::Catalog
# => option requires a catalog, and should automatically convert.
# also, it should have "--foo-type TYPE", [:yaml, :pson, :string, :hash]
added...
This makes interfacing the rich type system of Ruby with the command line's
simple String-based interface simple.
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://projects.puppetlabs.com/my/account
--
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en.