Sha256: b2f676f075fe3dfbcc6962ca48d5567aadde57a634edae707badab2e54383a99

Contents?: true

Size: 648 Bytes

Versions: 3

Compression:

Stored size: 648 Bytes

Contents

# frozen_string_literal: true

class Site < ApplicationRecord
  include SoftDelete

  belongs_to :site_node
  belongs_to :user

  validates :url, :name, :site_node_id, presence: true
  validates :url, format: { with: /https?:\/\/[\S]+/ }, uniqueness: true

  after_save :update_cache_version
  after_destroy :update_cache_version
  def update_cache_version
    # 记录节点变更时间,用于清除缓存
    CacheVersion.sites_updated_at = Time.now.to_i
  end

  def favicon_url
    return "" if url.blank?
    domain = URI.parse(url.strip).host.sub("www.", "")
    "https://favicon.ruby-china.com/ip2/#{domain}.ico"
  rescue
    ""
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
homeland-site-0.3.3 app/models/site.rb
homeland-site-0.3.2 app/models/site.rb
homeland-site-0.3.1 app/models/site.rb