Output
Все атрибуты, которые должен возвращать сервис в Result
должны быть описаны через метод output
.
Опции
Опция type
Эта опция является валидацией.
Будет проверяться чтобы переданное как output значение соответствовало указанному типу (классу).
Используется метод is_a?
.
class NotificationService::Create < ApplicationService::Base
input :user, type: User
output :notification, type: Notification
make :create_notification!
private
def create_notification!
self.notification = Notification.create!(user: inputs.user)
end
end