вам придется использовать лямбды со следующими now.json
{
"version": 2,
"builds": [
{ "src": "package.json", "use": "@now/next" },
{ "src": "lambda_file.js", "use": "@now/node"}
],
"routes": [
{ "src": "api_route", "dest": "lambda_file.js"}
]
}
Разве Вы не можете определить своего рода get_id метод так, чтобы идентификатор возвратил себя, объект возвращает идентификатор, и имя делает то, что это должно сделать для получения идентификатора? Затем можно всегда канонизировать что-либо, что Вы знаете, будет один из трех. Аналогично с get_name и get_object методами, если это необходимо.
То есть Вы определили неявный интерфейс ThingWhatHasAnID и сделали это утиным типом Вашего параметра функции.
Если я не пропускаю что-то, я звонил бы, этот антишаблон "упустил возможность создать абстракцию".
Почти каждый раз, когда Вы включаете класс объекта, это - подсказка, что поведение должно быть методом самого объекта. Отправка сообщения является полиморфной на основе получателя. В этом случае это должно быть что-то как:
def initialize starting_value
@starting_id = starting_value.id
end
Определить id
сделать безотносительно различного get_id_from_*
методы раньше делали. Недопустимый случай типа уже повысит, потому что Вы получите NoMethodError.
Что касается того, что назвать это, я назвал бы его "процедурным программированием на языке OO".