Comments (8)
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.
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.
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.
so the wiki is either incorrect (https://github.com/injekt/slop/wiki/Commands), or there is a bug still somewhere
from slop.
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.
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.
Where did :configure
come from? I'm not sure I understand what you mean
from slop.
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)
- Hash option type support HOT 6
- Thor comparison HOT 1
- ArgumentError not raised when Array arg is missing HOT 1
- Maybe support a choice option by default HOT 2
- Setting an option doesn't set it "everywhere" HOT 2
- Support for command in v4 HOT 1
- `help: false` throws off separator position HOT 4
- Attempt to modify frozen string litterals HOT 2
- Practical example HOT 5
- CI: Switch away from TravisCI HOT 6
- Conditional 'required' option HOT 2
- Custom message with Slop::MissingRequiredOption
- Ruby v3.0.0 problem with Slop v4.8.2 HOT 2
- Some bugs. HOT 1
- Enable frozen strings in Slop using the `# frozen_string_literal: true` pragma HOT 1
- No way to pass in a blank array? HOT 7
- [question] is there a way to check that one or more of some set of args exist? HOT 2
- Default value for boolean flags not working when invoking method HOT 1
- Issue / breaking change with boolean flags with 4.10.0 HOT 2
- Confusing that there's a 4.0 branch... HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from slop.