class AutoAttrInit::AutoAiAspect

initialize methodのaspect。 See AutoAttrInit::AutoAi

Public Class Methods

new(klass, names = []) click to toggle source

@params klass [Class] @params names [Symbol

# File lib/auto_attr_init/auto_ai_aspect.rb, line 9
def initialize klass, names = []
  @params = DetectParams.new(klass).detect
  @names = names
  @names = @params.collect{|param| param[1] } if @names.empty?
end

Public Instance Methods

pre_initialize(method, object, exitstatus, *args) click to toggle source
# File lib/auto_attr_init/auto_ai_aspect.rb, line 15
def pre_initialize method, object, exitstatus, *args
  param_args = AssignParams.new(object).assign args, @params
  @names.each{|name|
    object.instance_variable_set :"@#{name.to_s.sub /^@/, ''}", param_args[name]
  }
end