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.

Reply via email to