class User < ApplicationRecord has_many :server_templates, dependent: :destroy has_many :overlays, dependent: :destroy has_many :servers, dependent: :destroy has_many :activities, dependent: :destroy validates :steam_id, :steam_username, presence: true validates :steam_id, uniqueness: true def self.find_or_create_from_steam(auth_hash) user = find_by(steam_id: auth_hash["uid"]) unless user user = create!( steam_id: auth_hash["uid"], steam_username: auth_hash["info"]["nickname"] ) end user end end