Class: Svnx::Base::CommandFactory

Inherits:
Object
  • Object
show all
Includes:
Logue::Loggable
Defined in:
lib/svnx/base/command_factory.rb

Instance Method Summary collapse

Instance Method Details

#create(cmdcls, cmdlinecls: nil, optcls: nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/svnx/base/command_factory.rb', line 11

def create cmdcls, cmdlinecls: nil, optcls: nil
  melements = ClassUtil.module_elements cmdcls
  
  optcls ||= begin
               modl = ClassUtil.find_module cmdcls
               modl::Options
             end

  cmdlinecls ||= CommandLine

  { options_class: optcls, subcommand: melements[-1].downcase, command_line_class: cmdlinecls }
end