lujanfernaud/prevy

View on GitHub
app/services/invitation_authorizer.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

class InvitationAuthorizer
  def self.call(token, group, user)
    new(token, group, user).call
  end

  def initialize(token, group, user)
    @token      = token
    @group      = group
    @user       = user
    @invitation = GroupInvitation.find_by(group: group, token: token)
  end

  def call
    return false unless invitation

    invitation.user == user
  end

  private

    attr_reader :user, :invitation
end