Перейти к основному содержимому
Версия: 1.6

Internal

Внутренние приватные атрибуты можно определять через метод internal.

Опции

Опция type

Эта опция является валидацией. Будет проверяться чтобы переданное как internal значение соответствовало указанному типу (классу). Используется метод is_a?.

class NotificationService::Create < ApplicationService::Base
input :user, type: User

internal :inviter, type: User

output :notification, type: Notification

make :assign_inviter
make :create_notification!

private

def assign_inviter
self.inviter = user.inviter
end

def create_notification!
self.notification = Notification.create!(user: inputs.user, inviter:)
end
end