Module: CommandTower::Services::Admin::Users::IdentityUniqueness

Defined in:
app/services/command_tower/services/admin/users.rb

Constant Summary collapse

DUPLICATE_MESSAGE =
"has already been taken"

Class Method Summary collapse

Class Method Details

.uniqueness_error(field) ⇒ Object



77
78
79
# File 'app/services/command_tower/services/admin/users.rb', line 77

def uniqueness_error(field)
  CommandTower::Errors::ValidationError.new(details: { field => DUPLICATE_MESSAGE })
end

.uniqueness_taken?(error, attribute) ⇒ Boolean

Returns:

  • (Boolean)


81
82
83
84
85
86
# File 'app/services/command_tower/services/admin/users.rb', line 81

def uniqueness_taken?(error, attribute)
  record = error.respond_to?(:record) ? error.record : nil
  return false if record.nil?

  Array(record.errors.details[attribute]).any? { |entry| entry[:error] == :taken }
end