module Rodish

  1. lib/rodish.rb
  2. lib/rodish/command.rb
  3. lib/rodish/dsl.rb
  4. lib/rodish/errors.rb
  5. lib/rodish/option_parser.rb
  6. lib/rodish/plugins.rb
  7. lib/rodish/plugins/_context_sensitive_help.rb
  8. lib/rodish/plugins/_wrap.rb
  9. lib/rodish/plugins/after_options_hook.rb
  10. lib/rodish/plugins/cache_help_output.rb
  11. lib/rodish/plugins/help_examples.rb
  12. lib/rodish/plugins/help_option_values.rb
  13. lib/rodish/plugins/help_order.rb
  14. lib/rodish/plugins/invalid_args_message.rb
  15. lib/rodish/plugins/is.rb
  16. lib/rodish/plugins/post_commands.rb
  17. lib/rodish/plugins/run_is.rb
  18. lib/rodish/plugins/skip_option_parsing.rb
  19. lib/rodish/plugins/usages.rb
  20. lib/rodish/plugins/wrapped_options_separator.rb
  21. lib/rodish/processor.rb
  22. show all

Methods

Public Class

  1. processor

Public Class methods

processor(klass, &block)

Install a Rodish processor in the given class. This extends the class with Rodish::Processor, and uses the block to configure the processor using Rodish::DSL.

[show source]
   # File lib/rodish.rb
10 def self.processor(klass, &block)
11   klass.extend(Processor)
12 
13   dsl_class = Class.new(DSL)
14   klass.const_set(:DSL, dsl_class)
15 
16   command_class = Class.new(Command)
17   dsl_class.const_set(:Command, command_class)
18 
19   option_parser_class = Class.new(OptionParser)
20   dsl_class.const_set(:OptionParser, option_parser_class)
21 
22   option_parser = option_parser_class.new
23   option_parser.set_banner("")
24   option_parser.freeze
25   command_class.const_set(:DEFAULT_OPTION_PARSER, option_parser)
26 
27   klass.instance_variable_set(:@command, dsl_class.command([].freeze, &block))
28   klass
29 end