Sha256: cd8b632a091a56b4770358c687adde6309e0191adb1ebe334f2f85a5122e06c2
Contents?: true
Size: 932 Bytes
Versions: 7
Compression:
Stored size: 932 Bytes
Contents
# frozen_string_literal: true # @api private # @since 0.5.0 class SmartCore::Initializer::Type # @return [String] # # @api private # @since 0.5.0 attr_reader :name # @name [Symbol, String] # @param checker [Proc] # @return [void] # # @api private # @since 0.5.0 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 # @param value [Any] # @return [Boolean] # # @raise [SmartCore::Initializer::TypeError] # # @api private # @since 0.5.0 def comparable?(value) checker.call(value) end private # @return [Proc] # # @api private # @since 0.5.0 attr_reader :checker end
Version data entries
7 entries across 7 versions & 1 rubygems