Skip to content

Instantly share code, notes, and snippets.

@mdemyanov
Last active April 22, 2020 13:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mdemyanov/073ec93060e981f40a01fba355bb6300 to your computer and use it in GitHub Desktop.
Save mdemyanov/073ec93060e981f40a01fba355bb6300 to your computer and use it in GitHub Desktop.
Пример скриптового модуля, который не вызывает конфликтов в новом режиме компиляции на версиях Naumen SMP 4.11+
/*! UTF8 */
//Автор: mdemyanov
//Дата создания: 22.04.2020
//Код:
//Код модуля: moduleCode
//Назначение:
/**
* Пример модуля, для работы в новом режиме компиляции
*/
//Версия: 4.11.*
//Категория:
//Параметры------------------------------------------------------
/**
* Добавьте определение "package", чтобы классы текущего модуля не конфликтовали
* с классами других модулей, которые не содержат определения "package" и
* попадают в "default" (пакет по-умолчанию).
* Структура определения пакета:
* ru - региональный домен (посмотреть можно на сайте компании)
* naumen - наименование компании, в которой вы работаете (если другая, то замените на свою)
* moduleCode - уникальный в рамках данного стенда код модуля. При необходимости, можно в
* качестве этого кода использовать уникальный код настроек для нескольких связанных модулей,
* но наименования классов не должны пересекаться
*/
package ru.naumen.moduleCode
//Классы---------------------------------------------------------
class Constants {
static final String STRING_CODE = 'code'
class Employee {
static final FIRST_NAME = 'firstName'
static final LAST_NAME = 'lastName'
static final EMAIL = 'email'
}
}
class Error {
Integer code
String message
}
class Employee {
String firstName, lastName, email
Integer id
String toString() {
return "First name: $firstName\n" +
"Last name: $lastName"
}
}
//Функции--------------------------------------------------------
Employee getEmployee(def obj) {
return new Employee(
fistName: obj[Constants.Employee.FIRST_NAME],
lastName: obj[Constants.Employee.LAST_NAME],
email: obj[Constants.Employee.EMAIL],
id: obj['UUID'].split(/\$/).last(),
)
}
//Блок тестированияя------------------------------------------------
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment