Sha256: 14d742a7f515accfd9e5830c33ae13c4cb3b04535fed4516959c06a327fb9dd4

Contents?: true

Size: 841 Bytes

Versions: 1

Compression:

Stored size: 841 Bytes

Contents

class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable

  has_many :observes, foreign_key: "from_user_id", class_name: "Observe"
  has_many :observe_users, through: :observes, source: "to_user"
  has_many :observed, foreign_key: "to_user_id", class_name: "Observe"
  has_many :observed_users, through: :observed, source: "from_user"
  has_many :subscribe_topics, class_name: 'UserSubscribeTopic'

  has_one_attached :profile_image

  validates :description, length: { maximum: 200 }

  def follow?(user)
    observe_users.include?(user)
  end

  def subscribe_topic?(topic)
    subscribe_topics.where(topic: topic).exists?
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
Xwitter-0.4.0 app/models/user.rb