Module: AttrDefaults
- Defined in:
- lib/attr_defaults.rb
Defined Under Namespace
Modules: Initialize
Class Method Summary collapse
Class Method Details
.included(klass) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/attr_defaults.rb', line 20 def included klass klass.prepend Initialize class << klass [:attr, :attr_writer, :attr_reader, :attr_accessor].each do |method| define_method method do |*attrs, &block| super *attrs unless block.nil? defaults = class << self @attr_defaults ||= {} end defaults[attrs] = block end end end end end |