class SmartCore::Initializer::TypeSystem::Interop
@abstract @api private @since 0.1.0
Attributes
@return [SmartCore::Initializer::TypeSystem::Interop::Operation]
@api private @since 0.1.0
@return [String]
@api private @since 0.5.1
@return [SmartCore::Initializer::TypeSystem::Interop::Operation]
@api private @since 0.1.0
@return [SmartCore::Initializer::TypeSystem::Interop::Operation]
@api private @since 0.1.0
Public Class Methods
@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
@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
@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
@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
@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
@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
@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