Class: AutoAttrInit::DetectParams
- Inherits:
-
Object
- Object
- AutoAttrInit::DetectParams
- Defined in:
- lib/auto_attr_init/detect_params.rb
Overview
classを静的解析して、initializeのparamsを抽出する。
Instance Method Summary collapse
-
#detect ⇒ Array
[param type, param name, default value|nil][].
-
#initialize(klass) ⇒ DetectParams
constructor
A new instance of DetectParams.
Constructor Details
#initialize(klass) ⇒ DetectParams
Returns a new instance of DetectParams.
9 10 11 |
# File 'lib/auto_attr_init/detect_params.rb', line 9 def initialize klass @klass = klass end |
Instance Method Details
#detect ⇒ Array
Returns [param type, param name, default value|nil][].
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/auto_attr_init/detect_params.rb', line 14 def detect initialize_method = @klass.instance_method :initialize if initialize_method params = initialize_method.parameters params = analyze_opt_params initialize_method, params params = params.select{|param| param[0] != :block } else params = [] end params end |