Retrospring/lib/use_case/reaction/create.rb

21 lines
468 B
Ruby

# frozen_string_literal: true
module UseCase
module Reaction
class Create < UseCase::Base
option :source_user, type: Types.Instance(::User)
option :target, type: Types.Instance(::Answer) | Types.Instance(::Comment)
option :content, type: Types::Coercible::String, optional: true
def call
reaction = source_user.smile target
{
status: 201,
resource: reaction,
}
end
end
end
end