class SmartCore::Initializer::TypeSystem::Interop

@abstract @api private @since 0.1.0

Attributes

cast_op[R]

@return [SmartCore::Initializer::TypeSystem::Interop::Operation]

@api private @since 0.1.0

identifier[R]

@return [String]

@api private @since 0.5.1

valid_op[R]

@return [SmartCore::Initializer::TypeSystem::Interop::Operation]

@api private @since 0.1.0

validate_op[R]

@return [SmartCore::Initializer::TypeSystem::Interop::Operation]

@api private @since 0.1.0

Public Class Methods

create(type_object) click to toggle source

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

@api private @since 0.1.0

# File lib/smart_core/initializer/type_system/interop.rb, line 20
def create(type_object)
  self::AbstractFactory.create(type_object)
end
generic_type_object() click to toggle source

@return [SmartCore::Initialiezr::TypeSystem::Interop]

@api private @since 0.1.0

# File lib/smart_core/initializer/type_system/interop.rb, line 28
def generic_type_object
  self::AbstractFactory.generic_type_object
end
new(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 [void]

@api private @since 0.1.0 @version 0.5.1

# File lib/smart_core/initializer/type_system/interop.rb, line 59
def initialize(identifier, valid_op, validate_op, cast_op)
  @identifier = identifier
  @valid_op = valid_op
  @validate_op = validate_op
  @cast_op = cast_op
end
prevent_incompatible_type!(type_object) click to toggle source

@param type_object [Any] @return [void]

@raise [SmartCore::Initializer::IncorrectTypeObjectError]

@api private @since 0.1.0

# File lib/smart_core/initializer/type_system/interop.rb, line 39
def prevent_incompatible_type!(type_object)
  self::AbstractFactory.prevent_incompatible_type!(type_object)
end

Public Instance Methods

cast(value) click to toggle source

@param value [Any] @return [Any]

@api private @since 0.1.0

# File lib/smart_core/initializer/type_system/interop.rb, line 89
def cast(value)
  cast_op.call(value)
end
valid?(value) click to toggle source

@param value [Any] @return [Boolean]

@api private @since 0.1.0

# File lib/smart_core/initializer/type_system/interop.rb, line 71
def valid?(value)
  valid_op.call(value)
end
validate!(value) click to toggle source

@param value [Any] @return [void]

@api private @since 0.1.0

# File lib/smart_core/initializer/type_system/interop.rb, line 80
def validate!(value)
  validate_op.call(value)
end