added validations and everything

This commit is contained in:
nilsding 2014-11-30 14:43:35 +01:00
parent 57c4578533
commit eecdecfda9
2 changed files with 13 additions and 1 deletions

View File

@ -1,2 +1,6 @@
class Relationship < ActiveRecord::Base class Relationship < ActiveRecord::Base
belongs_to :source, class_name: 'User'
belongs_to :target, class_name: 'User'
validates :source_id, presence: true
validates :target_id, presence: true
end end

View File

@ -11,7 +11,15 @@ class User < ActiveRecord::Base
has_many :answers, dependent: :destroy has_many :answers, dependent: :destroy
has_many :comments, dependent: :destroy has_many :comments, dependent: :destroy
has_many :inboxes, dependent: :destroy has_many :inboxes, dependent: :destroy
has_many :active_relationships, class_name: 'Relationship',
foreign_key: 'source_id',
dependent: :destroy
has_many :passive_relationships, class_name: 'Relationship',
foreign_key: 'target_id',
dependent: :destroy
has_many :friends, through: :active_relationships, source: :target
has_many :followers, through: :passive_relationships, source: :source
SCREEN_NAME_REGEX = /\A[a-zA-Z0-9_]{1,16}\z/ SCREEN_NAME_REGEX = /\A[a-zA-Z0-9_]{1,16}\z/
validates :screen_name, presence: true, format: { with: SCREEN_NAME_REGEX }, uniqueness: { case_sensitive: false } validates :screen_name, presence: true, format: { with: SCREEN_NAME_REGEX }, uniqueness: { case_sensitive: false }