# File lib/rubigen/options.rb, line 29 def default_options(options = nil) if options write_inheritable_attribute(:default_options, options) else read_inheritable_attribute(:default_options) or write_inheritable_attribute(:default_options, {}) end end
Merge together our class options. In increasing precedence:
default_options (class default options) runtime_options (provided as argument) mandatory_options (class mandatory options)
# File lib/rubigen/options.rb, line 41 def full_options(runtime_options = {}) default_options.merge(runtime_options).merge(mandatory_options) end
# File lib/rubigen/options.rb, line 16 def inherited_with_options(sub) inherited_without_options(sub) if respond_to?(:inherited_without_options) sub.extend(RubiGen::Options::ClassMethods) end
# File lib/rubigen/options.rb, line 21 def mandatory_options(options = nil) if options write_inheritable_attribute(:mandatory_options, options) else read_inheritable_attribute(:mandatory_options) or write_inheritable_attribute(:mandatory_options, {}) end end