Sha256: f52befc351f9e8de218b34cf32927e56996df650636649ef343d2b215f4d6951

Contents?: true

Size: 998 Bytes

Versions: 6

Compression:

Stored size: 998 Bytes

Contents

# frozen_string_literal: true

# @api private
# @since 0.1.0
module SmartCore::Types::System::DefinitionDSL
  class << self
    # @param base_klass [Class]
    # @return [void]
    #
    # @api private
    # @since 0.1.0
    def included(base_klass)
      base_klass.extend(ClassMethods)
    end
  end

  # @api private
  # @since 0.1.0
  module ClassMethods
    # @param types [Array<SmartCore::Types::Pirmitive>]
    # @param type_definition [Block]
    # @return [SmartCore::Types::Primitive]
    #
    # @api public
    # @since 0.1.0
    def type_sum(*types, &type_definition)
      SmartCore::Types::Primitive::SumFactory.create_type(types, type_definition)
    end

    # @param types [Array<SmartCore::Types::Pirmitive>]
    # @param type_definition [Block]
    # @return [SmartCore::Types::Primitive]
    #
    # @api public
    # @since 0.1.0
    def type_mult(*types, &type_definition)
      SmartCore::Types::Primitive::MultFactory.create_type(types, type_definition)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
smart_types-0.1.0.alpha6 lib/smart_core/types/system/definition_dsl.rb
smart_types-0.1.0.alpha5 lib/smart_core/types/system/definition_dsl.rb
smart_types-0.1.0.alpha4 lib/smart_core/types/system/definition_dsl.rb
smart_types-0.1.0.alpha3 lib/smart_core/types/system/definition_dsl.rb
smart_types-0.1.0.alpha2 lib/smart_core/types/system/definition_dsl.rb
smart_types-0.1.0.alpha lib/smart_core/types/system/definition_dsl.rb