class Crygen::Types::Module

Overview

A class thar generates a module. A module can include any objects, like classes, structs, enums and modules itselves.

enum_type = Crygen::Types::Enum.new("Role", "Int8")
enum_type.add_constant("Member", "1")
enum_type.add_constant("Moderator", "2")
enum_type.add_constant("Administrator", "3")
module_type = Crygen::Types::Module.new("Folder::Sub::Folder")
module_type.add_object(enum_type)

Output:

module Folder::Sub::Folder
  enum Role : Int8
    Member        = 1
    Moderator     = 2
    Administrator = 3
  end
end

Included Modules

Defined in:

types/module.cr

Constructors

Instance Method Summary

Instance methods inherited from module Crygen::Modules::Comment

add_comment(value : String) : self add_comment

Instance methods inherited from class Crygen::Abstract::GeneratorInterface

generate : String generate

Constructor Detail

def self.new(name : String) #

[View source]

Instance Method Detail

def add_object(object_type : ObjectType) : self #

Adds an object into the module.

enum_type = Crygen::Types::Enum.new("Role", "Int8")
enum_type.add_constant("Member", "1")
enum_type.add_constant("Moderator", "2")
enum_type.add_constant("Administrator", "3")
module_type = Crygen::Types::Module.new("Folder::Sub::Folder")
module_type.add_object(enum_type)

Output:

module Folder::Sub::Folder
  enum Role : Int8
    Member        = 1
    Moderator     = 2
    Administrator = 3
  end
end

Parameters:

  • object_type : ObjectType Returns: an object class itself.

[View source]
def generate : String #

Generates a module. Returns: String


[View source]