Module: SmartCore::ValueObject::Interface::Constructor Private

Included in:
SmartCore::ValueObject
Defined in:
lib/smart_core/value_object/interface/constructor.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Since:

  • 0.1.0

Defined Under Namespace

Modules: AttributeAccess, ImmutabilityControl

Class Method Summary collapse

Class Method Details

.included(base_klass) ⇒ void

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

This method returns an undefined value.

Parameters:

Since:

  • 0.1.0



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/smart_core/value_object/interface/constructor.rb', line 12

def included(base_klass)
  base_klass.include(::SmartCore::Initializer)
  base_klass.singleton_class.class_eval do
    alias_method :attribute, :param
    alias_method :property, :option
    alias_method :attributes, :params
    alias_method :properties, :options
  end
  base_klass.include(AttributeAccess)
  base_klass.extend_initialization_flow(&ImmutabilityControl)
end