repository.rb
770 Bytes
class Repository < KalibroClient::Entities::Processor::Repository
include KalibroRecord
attr_writer :attributes
def self.public_or_owned_by_user(user = nil)
repository_attributes = RepositoryAttributes.where(public: true)
repository_attributes += RepositoryAttributes.where(user_id: user.id, public: false) if user
repository_attributes.map do |attribute|
begin
self.find(attribute.repository_id)
rescue Likeno::Errors::RecordNotFound
nil
end
end.compact
end
def self.latest(count=1)
all.sort { |one, another| another.id <=> one.id }.select { |repository| repository.attributes.public }.first(count)
end
def attributes
@attributes ||= RepositoryAttributes.find_by_repository_id(@id)
end
end