module Thor::Base::CommonClassOptions

Mixin that provides “macros” for including common class options.

Public Class Methods

define(name, *args, &block) click to toggle source
# File lib/thor/base/common_class_options.rb, line 32
def self.define name, *args, &block
  @@messages[name.to_sym] = \
    NRSER::Message.new :class_option, name, *args, &block
end

Public Instance Methods

common_class_options(*names) click to toggle source
# File lib/thor/base/common_class_options.rb, line 48
def common_class_options *names
  messages = Hamster::Hash.new @@messages
  
  names.map( &:to_sym ).each do |name|
    unless messages.key? name
      raise KeyError,
        "No common class option named #{ name }"
    end
    
    messages[name].send_to self
  end
end