retrospring/lib/use_case/relationship/destroy.rb
Georg Gadinger 9413d23a02 let Zeitwerk autoload the lib/ directory
this also allows the UseCase classes to be hot reloaded in dev 🎉

- remove use_case requires (except for the exporter as Zeitwerk
  doesn't know about the subclasses)
- move version.rb to lib/retrospring so that Zeitwerk knows where
  to find Retrospring::Version
2022-12-29 20:57:28 +01:00

25 lines
527 B
Ruby

# frozen_string_literal: true
require "errors"
module UseCase
module Relationship
class Destroy < UseCase::Base
option :source_user, type: Types.Instance(::User)
option :target_user, type: Types.Instance(::User)
option :type, type: Types::RelationshipTypes
def call
source_user.public_send("un#{type}", target_user)
{
status: 204,
resource: nil,
extra: {
target_user: target_user
}
}
end
end
end
end