travis-api/lib/travis/api/v3/queries/accounts.rb
2015-04-17 13:34:29 +02:00

23 lines
597 B
Ruby

module Travis::API::V3
class Queries::Accounts < Query
def for_member(user)
organizations = Queries[:organizations].new(params, main_type).for_member(user)
accounts(user, organizations)
end
private
def accounts(*list)
list.flatten.map { |entry| account(entry) }
end
def account(entry)
case entry
when Models::User, Models::Organization then Models::Account.new(entry)
when Models::Account, nil then entry
else raise ArgumentError, 'cannot convert %p into an account'.freeze % [entry]
end
end
end
end