Class: CodelessCode::Options
- Inherits:
-
Object
- Object
- CodelessCode::Options
- Extended by:
- Forwardable
- Includes:
- Enumerable
- Defined in:
- lib/codeless_code/options.rb
Instance Method Summary collapse
- #args ⇒ Object
- #help ⇒ Object
-
#initialize(command_name, argv) ⇒ Options
constructor
A new instance of Options.
- #key?(key) ⇒ Boolean
- #opts(suppress: false) ⇒ Object
Constructor Details
#initialize(command_name, argv) ⇒ Options
Returns a new instance of Options.
27 28 29 30 |
# File 'lib/codeless_code/options.rb', line 27 def initialize(command_name, argv) @command_name = command_name @argv = argv end |
Instance Method Details
#args ⇒ Object
54 55 56 |
# File 'lib/codeless_code/options.rb', line 54 def args opts.arguments[1..-1] end |
#help ⇒ Object
50 51 52 |
# File 'lib/codeless_code/options.rb', line 50 def help opts(suppress: true).to_s end |
#key?(key) ⇒ Boolean
46 47 48 |
# File 'lib/codeless_code/options.rb', line 46 def key?(key) !!self[key] end |
#opts(suppress: false) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/codeless_code/options.rb', line 32 def opts(suppress: false) @opts ||= begin args = [@command_name] + @argv opts = CodelessCode::OPTIONS.curry[@command_name] Slop.parse(args, suppress_errors: suppress, &opts).tap do |opt| if !suppress && opt.arguments.size > 2 raise format('too many arguments: %p', opt.arguments[1..-1]) end end end end |