repository.rb
1.03 KB
class Kalibro::Repository < Kalibro::Model
attr_accessor :id, :name, :description, :license, :process_period, :type, :address, :configuration_id
def self.repository_types
request(:supported_repository_types)[:supported_type].to_a
end
def self.repository_of(processing_id)
new request(:repository_of, {:processing_id => processing_id})[:repository]
end
def self.repositories_of(project_id)
request(:repositories_of, {:project_id => project_id})[:repository].to_a.map { |repository| new repository }
end
def process_repository
self.class.request(:process_repository, {:repository_id => self.id})
end
def cancel_processing_of_repository
self.class.request(:cancel_processing_of_repository, {:repository_id => self.id})
end
def save(project_id)
begin
self.id = self.class.request(:save_repository, {:repository => self.to_hash, :project_id => project_id})[:repository_id]
process_repository
true
rescue Exception => exception
add_error exception
false
end
end
end