Class: AutoAttrInit::AutoAiAspect

Inherits:
AspectR::Aspect
  • Object
show all
Defined in:
lib/auto_attr_init/auto_ai_aspect.rb

Overview

initialize methodのaspect。See AutoAttrInit::AutoAi

Instance Method Summary collapse

Constructor Details

#initialize(klass, names = []) ⇒ AutoAiAspect

Returns a new instance of AutoAiAspect.



9
10
11
12
13
# 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

Instance Method Details

#pre_initialize(method, object, exitstatus, *args) ⇒ Object



15
16
17
18
19
20
# 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