Sha256: dd2f06f59d836ce4f40f829de789b5e19e58e65ec3b9c5ba16d3d8a619730192
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
require 'petra/patches/thor' module Petra class CLI class Subcommand < Thor include Thor::Actions module ClassMethods %w( description invocation usage ).each do | attr | module_eval <<-___ , __FILE__ , __LINE__ def command_#{ attr }( val = nil ) if val @_command_#{ attr } ||= val end @_command_#{ attr } end ___ end end def self.inherited( klass ) klass.source_root "#{ LIBPATH }/sources" klass.extend ClassMethods end end private def self.Subcommand( command_name , &block ) subcommand_class = Class.new \ Subcommand, &block const_set \ command_name, subcommand_class register \ subcommand_class, subcommand_class.command_invocation, subcommand_class.command_usage, subcommand_class.command_description subcommand_class end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
petra-0.0.2 | lib/petra/cli/subcommand.rb |