2011-10-27 14:04:03 +01:00
|
|
|
module PersonalRepository
|
|
|
|
extend ActiveSupport::Concern
|
|
|
|
|
|
|
|
included do
|
|
|
|
after_create :create_personal_repository
|
|
|
|
end
|
|
|
|
|
|
|
|
module InstanceMethods
|
|
|
|
def create_personal_repository
|
|
|
|
pl = platforms.build
|
|
|
|
pl.owner = self
|
|
|
|
pl.name = "#{self.uname}_personal"
|
|
|
|
pl.unixname = "#{self.uname}_personal"
|
|
|
|
pl.platform_type = 'personal'
|
2011-10-27 20:33:19 +01:00
|
|
|
pl.distrib_type = 'mandriva2011'
|
2011-10-28 08:20:13 +01:00
|
|
|
pl.visibility = 'open'
|
2011-10-27 14:04:03 +01:00
|
|
|
pl.save
|
|
|
|
|
|
|
|
rep = pl.repositories.build
|
|
|
|
rep.owner = pl.owner
|
|
|
|
rep.name = 'main'
|
|
|
|
rep.unixname = 'main'
|
|
|
|
rep.save
|
|
|
|
end
|
|
|
|
|
|
|
|
def personal_platform
|
|
|
|
platforms.personal.first
|
|
|
|
end
|
|
|
|
|
|
|
|
def personal_repository
|
|
|
|
personal_platform.repositories.first
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|