module AutoAttrInit::AutoAiAutoSetter

RubyistたちのDRY症候群との戦い melborne.github.io/2013/09/27/auto-attr-set-in-ruby/

Public Instance Methods

new(*args, &block) click to toggle source
Calls superclass method
# File lib/auto_attr_init/auto_ai.rb, line 17
def new *args, &block
  unless @@auto_attr_init_finished
    names = self.instance_method(:initialize).parameters.
      collect{|param| param[1] }.
      select{|name| name.to_s =~ /^@/ }
    unless names.empty?
      auto_attr_init *names
      @@auto_attr_init_finished = true
    end
  end
  super *args, &block
end