Module: Thor::Base::CommonClassOptions
- Included in:
- ClassMethods
- Defined in:
- lib/thor/base/common_class_options.rb
Overview
Mixin that provides “macros” for including common class options.
Constant Summary collapse
- @@messages =
Concurrent::Hash.new
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.define(name, *args, &block) ⇒ Object
32 33 34 35 |
# 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 |
Instance Method Details
#common_class_options(*names) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/thor/base/common_class_options.rb', line 48 def *names = Hamster::Hash.new @@messages names.map( &:to_sym ).each do |name| unless .key? name raise KeyError, "No common class option named #{ name }" end [name].send_to self end end |