Sha256: 0b511a9250db05ce3cce2d2c301b2be60cfb3b94f051af0b3b47e1ad601cf3d3

Contents?: true

Size: 683 Bytes

Versions: 7

Compression:

Stored size: 683 Bytes

Contents

# frozen_string_literal: true

# @api private
# @since 0.1.0
module SmartCore::Types::System::ProducerDSL
  class << self
    # @param base_klass [Class<SmartCore::Types::Primitive>]
    # @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 type_name [String, Symbol]
    # @param type_definition [Block]
    # @return [SmartCore::Types::Primitive]
    #
    # @api public
    # @since 0.1.0
    def define_type(type_name, &type_definition)
      self::Factory.create_type(self, type_name, type_definition)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

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