class SmartCore::Initializer::Attribute
@api private @since 0.1.0
Attributes
parameters[R]
@return [SmartCore::Initializer::Attribute::Parameters]
@api private @since 0.1.0
Public Class Methods
new(name, type, type_system, privacy, finalizer, cast, read_only, as, dynamic_options)
click to toggle source
@param name [Symbol] @param type [SmartCore::Initializer::TypeSystem::Interop] @param type_system [Class<SmartCore::Initializer::TypeSystem::Interop>] @param privacy [Symbol] @param finalizer [SmartCore::Initializer::Attribute::Finalizer::AnonymousBlock/InstanceMethod] @param cast [Boolean] @param read_only [Boolean] @param as [String, Symbol, NilClass] @param dynamic_options [Hash<Symbol,Any>] @return [void]
@api private @since 0.1.0
# File lib/smart_core/initializer/attribute.rb, line 87 def initialize(name, type, type_system, privacy, finalizer, cast, read_only, as, dynamic_options) @parameters = SmartCore::Initializer::Attribute::Parameters.new( name, type, type_system, privacy, finalizer, cast, read_only, as, dynamic_options ) end
Public Instance Methods
dup()
click to toggle source
@return [SmartCore::Initializer::Attribute]
@api private @since 0.1.0 rubocop:disable Metrics/AbcSize
# File lib/smart_core/initializer/attribute.rb, line 111 def dup self.class.new( parameters.name.dup, parameters.type, parameters.type_system, parameters.privacy, parameters.finalizer.dup, parameters.cast, parameters.read_only, parameters.as, parameters.dynamic_options.dup ) end
validate!(value)
click to toggle source
@param value [Any] @return [void]
@api private @since 0.5.1
# File lib/smart_core/initializer/attribute.rb, line 98 def validate!(value) type.validate!(value) rescue => error raise SmartCore::Initializer::IncorrectTypeError, "Validation of attribute '#{name}' (#{type.identifier}, got #{value.class}) failed: " \ "#{error.message}" end