discourse/app/models/incoming_referer.rb

36 lines
889 B
Ruby

# frozen_string_literal: true
class IncomingReferer < ActiveRecord::Base
belongs_to :incoming_domain
def self.add!(opts)
domain_id = opts[:incoming_domain_id]
domain_id ||= opts[:incoming_domain].id
path = opts[:path]
current = find_by(path: path, incoming_domain_id: domain_id)
return current if current
begin
current = create!(path: path, incoming_domain_id: domain_id)
rescue ActiveRecord::RecordNotUnique
# does not matter
end
current || find_by(path: path, incoming_domain_id: domain_id)
end
end
# == Schema Information
#
# Table name: incoming_referers
#
# id :integer not null, primary key
# path :string(1000) not null
# incoming_domain_id :integer not null
#
# Indexes
#
# index_incoming_referers_on_path_and_incoming_domain_id (path,incoming_domain_id) UNIQUE
#