Module: Opts::DSL::ClassMethods
- Defined in:
- lib/opts/dsl.rb
Instance Method Summary collapse
- #arg(name, options = {}) ⇒ Object
- #class_opt(name, options = {}) ⇒ Object
- #class_use(klass, *args, &block) ⇒ Object
- #method_added(m) ⇒ Object
- #opt(name, options = {}) ⇒ Object
- #parser ⇒ Object
- #use(klass, *args, &block) ⇒ Object
Instance Method Details
#arg(name, options = {}) ⇒ Object
49 50 51 52 |
# File 'lib/opts/dsl.rb', line 49 def arg(name, ={}) @command_args ||= Opts::ArgumentParser.new @command_args.arg(name, ) end |
#class_opt(name, options = {}) ⇒ Object
34 35 36 37 |
# File 'lib/opts/dsl.rb', line 34 def class_opt(name, ={}) @class_opts ||= Opts::OptionParser.new @class_opts.opt(name, ) end |
#class_use(klass, *args, &block) ⇒ Object
29 30 31 32 |
# File 'lib/opts/dsl.rb', line 29 def class_use(klass, *args, &block) @class_builder ||= Opts::Builder.new @class_builder.use(klass, *args, &block) end |
#method_added(m) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/opts/dsl.rb', line 54 def method_added(m) @command_parser ||= Opts::CommandParser.new @command_builder ||= Opts::Builder.new @command_opts ||= Opts::OptionParser.new @command_args ||= Opts::ArgumentParser.new @command_builder.use @command_opts @command_builder.use @command_args @command_builder.run lambda { |env, args| env[:stack].last.__send__(m, env, args) } @command_parser.cmd(m, @command_builder.to_app) @command_builder = nil @command_opts = nil @command_args = nil end |
#opt(name, options = {}) ⇒ Object
44 45 46 47 |
# File 'lib/opts/dsl.rb', line 44 def opt(name, ={}) @command_opts ||= Opts::OptionParser.new @command_opts.opt(name, ) end |
#parser ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/opts/dsl.rb', line 16 def parser @parser ||= begin @class_builder ||= Opts::Builder.new @class_opts ||= Opts::OptionParser.new @command_parser ||= Opts::CommandParser.new @class_builder.use @class_opts @class_builder.run @command_parser @class_builder.to_app end end |