2018-12-13 13:39:08 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class PoolRepository < ActiveRecord::Base
|
2019-01-03 12:48:30 +05:30
|
|
|
POOL_PREFIX = '@pools'
|
2018-12-13 13:39:08 +05:30
|
|
|
|
2019-01-03 12:48:30 +05:30
|
|
|
belongs_to :shard
|
|
|
|
validates :shard, presence: true
|
2018-12-13 13:39:08 +05:30
|
|
|
|
2019-01-03 12:48:30 +05:30
|
|
|
# For now, only pool repositories are tracked in the database. However, we may
|
|
|
|
# want to add other repository types in the future
|
|
|
|
self.table_name = 'repositories'
|
2018-12-13 13:39:08 +05:30
|
|
|
|
2019-01-03 12:48:30 +05:30
|
|
|
has_many :pool_member_projects, class_name: 'Project', foreign_key: :pool_repository_id
|
2018-12-13 13:39:08 +05:30
|
|
|
|
2019-01-03 12:48:30 +05:30
|
|
|
def shard_name
|
|
|
|
shard&.name
|
2018-12-13 13:39:08 +05:30
|
|
|
end
|
|
|
|
|
2019-01-03 12:48:30 +05:30
|
|
|
def shard_name=(name)
|
|
|
|
self.shard = Shard.by_name(name)
|
2018-12-13 13:39:08 +05:30
|
|
|
end
|
|
|
|
end
|