Sha256: 23ddba49d3714ca456d60619750dd744a2ef9db658b75056ee6ed3c8abca8475
Contents?: true
Size: 972 Bytes
Versions: 3
Compression:
Stored size: 972 Bytes
Contents
module Pione module CommandOption module OptionInterface # @api private def self.extended(klass) klass.instance_variable_set(:@command_options, {}) end # Defines an option for the command. # @return [void] def define_option(*args, &b) @command_options[args.first] = [args, b] end # Removes the option. # @return [void] def remove_option(name) @command_options.delete(name) end # Returns the command options. # @return [Array] def command_options @command_options end # Installs the option module. # @return [void] def use_option_module(mod) @command_options = @command_options.update(mod.command_options) end end class BasicOption extend OptionInterface def self.inherited(klass) klass.instance_variable_set(:@command_options, command_options.clone) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pione-0.1.2 | lib/pione/command-option/basic-option.rb |
pione-0.1.1 | lib/pione/command-option/basic-option.rb |
pione-0.1.0 | lib/pione/command-option/basic-option.rb |