Thursday, September 19, 2024 11:55:49 PM
> settings

Customize


Authenticate

> user_steam_data.rb
# frozen_string_literal: true

class UserSteamData < ApplicationRecord
  attribute :user_id, :integer
  attribute :username, :string, default: nil
  attribute :avatar, :text, default: nil
  attribute :profile_url, :text, default: nil
  attribute :profile_visibility, :string, default: nil
  attribute :profile_created_at, :datetime, default: nil
  attribute :community_banned, :boolean, default: false
  attribute :vac_banned, :boolean, default: false
  attribute :number_of_vac_bans, :integer, default: 0
  attribute :days_since_last_ban, :integer, default: 0
  attribute :created_at, :datetime
  attribute :updated_at, :datetime

  belongs_to :user

  def refresh
    return if user.steam_uid.blank?

    player_data = SteamAccount.new(user.steam_uid)
    update(
      username: player_data.username,
      avatar: player_data.avatar,
      profile_url: player_data.profile_url,
      profile_visibility: player_data.profile_visibility,
      profile_created_at: player_data.profile_created_at
    )
  end

  # A refresh can happen every 15 minutes
  def needs_refresh?
    ((Time.now - updated_at) / 1.minute) >= 15
  end
end
All opinions represented herein are my own
- © 2024 itsthedevman
- build 3c15a1b