class SmartCore::Initializer::Type

@api private @since 0.5.0

Attributes

checker[R]

@return [Proc]

@api private @since 0.5.0

name[R]

@return [String]

@api private @since 0.5.0

Public Class Methods

new(name, checker) click to toggle source

@name [Symbol, String] @param checker [Proc] @return [void]

@api private @since 0.5.0

# File lib/smart_core/initializer/type.rb, line 18
def initialize(name, checker)
  unless name.is_a?(String) || name.is_a?(Symbol)
    raise(SmartCore::Initializer::ArgumentError, 'Type name should be a symbol or a string')
  end

  unless checker.is_a?(Proc)
    raise(SmartCore::Initializer::ArgumentError, 'Checker should be a proc')
  end

  @name = name.to_sym
  @checker = checker
end

Public Instance Methods

comparable?(value) click to toggle source

@param value [Any] @return [Boolean]

@raise [SmartCore::Initializer::TypeError]

@api private @since 0.5.0

# File lib/smart_core/initializer/type.rb, line 38
def comparable?(value)
  checker.call(value)
end