class SmartCore::Initializer::TypeSet
@api private @since 0.5.0
Attributes
types[R]
@return [Hash<Symbol,SmartCore::Initializer::Type>]
@api private @since 0.5.0
Public Class Methods
new()
click to toggle source
@return [void]
@api private @since 0.5.0
# File lib/smart_core/initializer/type_set.rb, line 10 def initialize @types = {} end
Public Instance Methods
has_type?(name)
click to toggle source
@param name [String, Symbol] @return [Boolean]
@api private @since 0.5.0
# File lib/smart_core/initializer/type_set.rb, line 19 def has_type?(name) types.key?(name) end
register(name, checker)
click to toggle source
@param name [String, Symbol] @param checker [Proc] @return [void]
@api private @since 0.5.0
# File lib/smart_core/initializer/type_set.rb, line 29 def register(name, checker) type = SmartCore::Initializer::Type.new(name, checker) types[type.name] = type end
resolve(name)
click to toggle source
@param name [String, Symbol] @return [SmartCore::Initializer::Type]
@api private @since 0.5.0
# File lib/smart_core/initializer/type_set.rb, line 39 def resolve(name) types.fetch(name.to_sym) rescue KeyError raise SmartCore::Initializer::UnregisteredTypeError, "type :#{name} is not registered!" end