Arie/serveme

View on GitHub
app/validators/reservations/reservable_by_user_validator.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

module Reservations
  class ReservableByUserValidator < ActiveModel::Validator
    def validate(record)
      return unless record.server_id.present? && !Server.active.reservable_by_user(record.user).map(&:id).include?(record.server_id)

      record.errors.add(:server_id, 'is not available for you')
    end
  end
end