Sha256: 3e8de3aa918baa3cb9a7045e7c7bec4f95d474e17f613c53045eadf0bc913c5b
Contents?: true
Size: 625 Bytes
Versions: 20
Compression:
Stored size: 625 Bytes
Contents
module Commander class Command attr_accessor :block class Options def __merge(params) new_options = self.__clone new_options.__hash__.merge!(params) new_options end def __clone new_options = Options.new new_options.__hash__.merge!(__hash__) new_options end end def invoke(args=[], options=nil) options = options ? options.__clone : Options.new self.block.call(args, options) end def task_action(*args, &block) when_called(*args, &block) self.block = block end end end
Version data entries
20 entries across 20 versions & 1 rubygems