class SmartCore::Initializer::TypeSystem::Interop::AbstractFactory

@abstract @api private @since 0.1.0

Public Class Methods

build_identifier(type) click to toggle source

@param type [Any] @return [String]

@api private @since 0.5.1

# File lib/smart_core/initializer/type_system/interop/abstract_factory.rb, line 35
def build_identifier(type); end
create(type) click to toggle source

@param type [Any] @return [SmartCore::Initializer::TypeSystem::Interop]

@api private @since 0.1.0

# File lib/smart_core/initializer/type_system/interop/abstract_factory.rb, line 13
def create(type)
  prevent_incompatible_type!(type)

  identifier = build_identifier(type)
  valid_op = build_valid_operation(type)
  validate_op = build_validate_operation(type)
  cast_op = build_cast_operation(type)

  build_interop(identifier, valid_op, validate_op, cast_op)
end
generic_type_object() click to toggle source

@return [Any]

@api private @since 0.1.0

# File lib/smart_core/initializer/type_system/interop/abstract_factory.rb, line 28
def generic_type_object; end
prevent_incompatible_type!(type) click to toggle source

@param type [Any] @return [void]

@raise [SmartCore::Initializer::IncorrectTypeObjectError]

@api private @since 0.1.0

# File lib/smart_core/initializer/type_system/interop/abstract_factory.rb, line 44
def prevent_incompatible_type!(type); end

Private Class Methods

build_cast_operation(type) click to toggle source

@param type [Any] @return [SmartCore::Initializer::TypeSystem::Interop::Operation]

@api private @since 0.1.0

# File lib/smart_core/initializer/type_system/interop/abstract_factory.rb, line 67
def build_cast_operation(type); end
build_interop(identifier, valid_op, validate_op, cast_op) click to toggle source

@param identifier [String] @param valid_op [SmartCore::Initializer::TypeSystem::Interop::Operation] @param validate_op [SmartCore::Initializer::TypeSystem::Interop::Operation] @param cast_op [SmartCore::Initializer::TypeSystem::Interop::Operation] @return [SmartCore::Initializer::TypeSystem::Interop]

@api private @since 0.1.0 @version 0.5.1

# File lib/smart_core/initializer/type_system/interop/abstract_factory.rb, line 78
def build_interop(identifier, valid_op, validate_op, cast_op); end
build_valid_operation(type) click to toggle source

@param type [Any] @return [SmartCore::Initializer::TypeSystem::Interop::Operation]

@api private @since 0.1.0

# File lib/smart_core/initializer/type_system/interop/abstract_factory.rb, line 53
def build_valid_operation(type); end
build_validate_operation(type) click to toggle source

@param type [Any] @return [SmartCore::Initializer::TypeSystem::Interop::Operation]

@api private @since 0.1.0

# File lib/smart_core/initializer/type_system/interop/abstract_factory.rb, line 60
def build_validate_operation(type); end