2017-05-16 21:27:36 +08:00
|
|
|
class Repository < ActiveRecord::Base
|
|
|
|
belongs_to :team
|
|
|
|
belongs_to :created_by, foreign_key: :created_by_id, class_name: 'User'
|
|
|
|
has_many :repository_columns
|
|
|
|
has_many :repository_rows
|
2017-06-07 19:36:39 +08:00
|
|
|
has_many :repository_table_states,
|
|
|
|
inverse_of: :repository, dependent: :destroy
|
2017-06-05 18:24:06 +08:00
|
|
|
has_many :report_elements, inverse_of: :repository, dependent: :destroy
|
2017-05-16 21:27:36 +08:00
|
|
|
|
|
|
|
auto_strip_attributes :name, nullify: false
|
|
|
|
validates :name,
|
|
|
|
presence: true,
|
2017-06-05 16:38:04 +08:00
|
|
|
uniqueness: { scope: :team, case_sensitive: false },
|
2017-05-16 21:27:36 +08:00
|
|
|
length: { maximum: Constants::NAME_MAX_LENGTH }
|
|
|
|
validates :team, presence: true
|
|
|
|
validates :created_by, presence: true
|
|
|
|
end
|