module AttrDefaults
Public Instance Methods
included(klass)
click to toggle source
# File lib/attr_defaults.rb, line 22 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