travis-api/lib/travis/services/find_user_accounts.rb
Aakriti Gupta 65f1a29d86 Move travis-core files from /vendor to /lib.
- Re-factor
- Remove code for notifications
- Remove addons
- Remove travis-core gem.
- Ignore logs directory only
- Move core tests to spec/lib
2016-07-20 11:22:25 +02:00

34 lines
754 B
Ruby

require 'travis/services/base'
module Travis
module Services
class FindUserAccounts < Base
register :find_user_accounts
def run
([current_user] + orgs).map do |record|
::Account.from(record, :repos_count => repos_counts[record.login])
end
end
private
def orgs
Organization.where(:login => account_names)
end
def repos_counts
@repos_counts ||= Repository.counts_by_owner_names(account_names)
end
def account_names
repos = current_user.repositories
unless params[:all]
repos = repos.administratable
end
repos.select(:owner_name).map(&:owner_name).uniq
end
end
end
end