Giter Club home page Giter Club logo

executable's People

Contributors

trans avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

executable's Issues

Revisit bang option syntax

An undocumented feature are bang methods for parsing options. Need to revisit this and decide if it should be kept, deprecated or refined.

Handle aliases in help output

Currently Help output just lists option aliases as separate options. It needs to be fixed to detect aliases and attach them to the main option.

Shebang should start with /

Hi,

I had an issue using your example, the shebang did not start with a / so wasn't picking up env properly. It probably should be

#!/usr/bin/env ruby

Automatic shortcuts

It would very cool if long option names were given automatic single letter shortcuts, as long a ashortcut hasn't already been defined.

This could be implemented in a number of ways. It could be a method or a special module to mixin that generates the aliases dynamically. Or it could just be something the option parser handles under the hood and a config option would need to be set to deactivate the feature.

Better error messages

Need to wrap the execute/run call procedure in a begin/rescue clause and only output one line messages by default, The $DEBUG variable could be used to let errors through the rescue clause.

Also might provide an Executable::ValidationError or something like that, and a help method to make it easier to check the validity of option values. Then again, there are probably some really good validation libraries out there that can already be integrated. So we'll see.

Can't use with anonymous classes

Including Executable into anonymous classes doesn't work b/c they have no name. Even giving them a command_name method doesn't work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.