18 lines
354 B
Ruby
18 lines
354 B
Ruby
class Dsn < ApplicationRecord
|
|
validates :key, presence: true, uniqueness: true
|
|
validates :name, presence: true
|
|
|
|
before_validation :generate_key, on: :create
|
|
|
|
scope :enabled, -> { where(enabled: true) }
|
|
|
|
def self.authenticate(key)
|
|
enabled.find_by(key: key)
|
|
end
|
|
|
|
private
|
|
|
|
def generate_key
|
|
self.key ||= SecureRandom.hex(32)
|
|
end
|
|
end |