genstorage

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2024 License: MIT Imports: 14 Imported by: 0

README

Genstorage

The Genstorage package is designed to automatically generate storage and interface files

Installation

go get "gitlab.com/golight/orm"

Description

//getting file name from cmd
func GetFileName() (string, error)
//getting table name in NewStorage function
func GetTableName(fileName string) (string, error)
//getting structure name in NewStorage function
func GetStructName(fileName string) (string, error)
//getting structure name in NewStorage function
func GetPackageName(fileName string) (string, error)
//creating new storage
func NewStorage(filename string) (*Storage, error)
//creating new interface template
func NewInterfaceTemplate() (*template.Template, error)
//creating new files in storage directory
func (s *Storage) CreateStorageFiles() error
//creating new storage template
func NewStorageTemplate() (*template.Template, error)

Usage

func main() {
	file, err := GetFileName()
	if err != nil {
		return
}
	storage, err := NewStorage(file)
	if err != nil {
		return
}
	err = storage.CreateStorageFiles()
	if err != nil {
		return
}
}

Roadmap

  • При переносе genstorage в отдельный пакет необходимо проверить импорты в использующих genstorage пакетах

Documentation

Index

Constants

View Source
const InterfaceTemplate = `` /* 562-byte string literal not displayed */
View Source
const StorageTemplate = `` /* 2455-byte string literal not displayed */

Variables

This section is empty.

Functions

func FindGoModFile

func FindGoModFile(filename string) (string, string, error)

func GetFileName

func GetFileName() (string, error)

функция парсинга имени файла из флага

func GetPackageName

func GetPackageName(fileName string) (string, error)

функция для получения имени пакета из файла

func GetStructName

func GetStructName(fileName string) (string, error)

функция парсинга имени структуры

func GetTableName

func GetTableName(fileName string) (string, error)

функция парсинга имени таблицы из метода TableName в файле

func ModifyTmpl

func ModifyTmpl(moduleName, pathName string) string

func NewInterfaceTemplate

func NewInterfaceTemplate() (*template.Template, error)

func NewStorageTemplate

func NewStorageTemplate(module, pathname string) (*template.Template, error)

func WrongMethodName

func WrongMethodName() string

Types

type Storage

type Storage struct {
	FileName          string
	StorageTemplate   *template.Template
	InterfaceTemplate *template.Template
	TemplateData      TemplateData
}

func NewStorage

func NewStorage(filename, module, pathname string) (*Storage, error)

func (*Storage) CreateStorageFiles

func (s *Storage) CreateStorageFiles() error

type TemplateData

type TemplateData struct {
	PackageName         string // имя пакета
	TableName           string // имя таблицы
	EntityName          string // название структуры
	EntityNameLowercase string // название структуры в нижнем регистре
	EntityNameUppercase string // название структуры с большой буквы
	EntityFirstLetter   string // первая буква имени структуры
}

структура с данными для заполнения шаблона

type Test

type Test struct {
}

func (*Test) TableName

func (t *Test) TableName() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL