Class: Initable::Builder
- Inherits:
-
Module
- Object
- Module
- Initable::Builder
- Defined in:
- lib/initable/builder.rb
Overview
Builds initialization behavior.
Instance Method Summary collapse
- #included(descendant) ⇒ Object
-
#initialize(*parameters, method_scope: :private, **keywords) ⇒ Builder
constructor
A new instance of Builder.
Constructor Details
#initialize(*parameters, method_scope: :private, **keywords) ⇒ Builder
Returns a new instance of Builder.
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/initable/builder.rb', line 8 def initialize *parameters, method_scope: :private, **keywords super() keywords.each { |key, value| parameters.push [:key, key, value] } @parameters = Marameters.for parameters @method_scope = method_scope @names = @parameters.names.compact @instance_module = Module.new.set_temporary_name "initable" freeze end |
Instance Method Details
#included(descendant) ⇒ Object
20 21 22 23 24 |
# File 'lib/initable/builder.rb', line 20 def included descendant super define_initialize descendant descendant.include instance_module end |