GithubHelp home page GithubHelp logo

2.4.0 command not working about slop HOT 8 CLOSED

leejarvis avatar leejarvis commented on May 26, 2024
2.4.0 command not working

from slop.

Comments (8)

leejarvis avatar leejarvis commented on May 26, 2024

What do you expect to see here? :version is going to be nil, because Slop doesn't think it expects anything more descriptive for an option which doesn't take any arguments.

The reason your puts arguments are not being seen is because you never parse anything.

from slop.

epinault avatar epinault commented on May 26, 2024

Ok .I added the parse at the end but not working as expected still. It show both "-v" being called. And also the hash contains no information about verbose or config . How would I do that? keep track myself? does not seem to create a default verbose key

./slop.rb clean -v
Enabled verbose mode for clean
version 1
{:version=>true}

from slop.

epinault avatar epinault commented on May 26, 2024

I even changed the code to not have the :v for verbose , and still notthing in the hash, though it finally behaves to only show the verbose message

opts = Slop.new do
  command :clean do
    on :verbose do
      puts 'Enabled verbose mode for clean'
    end
  end

  # non-command specific options
  on :v, :version do
    puts 'version 1'
  end
end

opts.parse

puts opts.to_hash

output

./slop.rb clean --verbose
Enabled verbose mode for clean
{:version=>nil}

./slop.rb clean --verbose -v
Enabled verbose mode for clean
version 1
{:version=>true}

from slop.

epinault avatar epinault commented on May 26, 2024

so the wiki is either incorrect (https://github.com/injekt/slop/wiki/Commands), or there is a bug still somewhere

from slop.

leejarvis avatar leejarvis commented on May 26, 2024

This is an issue with commands and the way Slop uses nested instances of itself. Slop#[] will allow you to return the instance of Slop mapped to the :clean command. Here's an example:

p opts.to_hash          # {:version=>nil}
p opts[:clean].class    # Slop
p opts[:clean].to_hash  # {:verbose=>nil}

Commands still need a lot of work, I haven't quite found exactly what people want from them and how they want to use them. So by all means, if you have ideas for how you think commands should work, please open a new issue with perhaps some ideal workflow examples and I'll be more than happy to work on this.

from slop.

epinault avatar epinault commented on May 26, 2024

How do I access the current command being passed?

I can see it in the inspect {:configure=>#<Slop config_options={["configure"]=>true}
#<Slop::Option short_flag="h" long_flag="help" argument=false description="Help">

}

but I don t see the config_options being exposed nor any other ways ?

from slop.

leejarvis avatar leejarvis commented on May 26, 2024

Where did :configure come from? I'm not sure I understand what you mean

from slop.

epinault avatar epinault commented on May 26, 2024

sorry, should have been :clean in our case. BUt looks like with execute method might temporarly help if I cannot know

from slop.

Related Issues (20)

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.