22 lines
549 B
Ruby
22 lines
549 B
Ruby
require_relative './carto_json_serializer'
|
|
|
|
module Carto
|
|
class UserNotification < ActiveRecord::Base
|
|
belongs_to :user
|
|
serialize :notifications, ::Carto::CartoJsonSymbolizerSerializer
|
|
|
|
validates :user, presence: true
|
|
validate :only_valid_categories
|
|
|
|
VALID_CATEGORIES = [:builder, :dashboard].freeze
|
|
|
|
private
|
|
|
|
def only_valid_categories
|
|
notifications.keys.none? do |category|
|
|
errors.add(:notifications, "Invalid category: #{category}") unless VALID_CATEGORIES.include?(category)
|
|
end
|
|
end
|
|
end
|
|
end
|