class Crygen::Types::Class

Overview

A class that generates a class.

class_person = CGT::Class.new("Person")
class_person.add_comment("This is a class called Person.")
class_person.add_method(method_full_name)
puts class_person.generate

Output:

# This is a class called Person.
class Person
  # Gets the person's full name.
  def full_name : String
    "John Doe"
  end
end

Included Modules

Defined in:

types/class.cr

Constructors

Instance Method Summary

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

add_annotation(annotation_type : Crygen::Types::Annotation) : self add_annotation

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

add_method(method : Crygen::Types::Method) : self add_method

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

add_class_var(name : String, type : String, value : String) : self
add_class_var(name : String, type : String) : self
add_class_var
, generate_class_vars : String generate_class_vars

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

add_instance_var(name : String, type : String, value : String) : self
add_instance_var(name : String, type : String) : self
add_instance_var
, generate_instance_vars : String generate_instance_vars

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

add_property(visibility : Crygen::Enums::PropVisibility, name : String, type : String, scope : Crygen::Enums::PropScope = :public) : self
add_property(visibility : Crygen::Enums::PropVisibility, name : String, type : String, value : String, scope : Crygen::Enums::PropScope = :public) : self
add_property

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 as_abstract : self #

Set as an abstract class.

class_type = CGT::Class.new("Person")
class_type.as_abstract

Output:

abstract class Person
end

Returns: an object class itself.


[View source]
def generate : String #

Generates a Crystal code. Returns: String


[View source]