travis-api/lib/travis/api/v3/queries/user.rb
2015-04-30 17:08:52 +02:00

21 lines
536 B
Ruby

module Travis::API::V3
class Queries::User < Query
params :id, :login, :email
def find
return Models::User.find_by_id(id) if id
return Models::User.where('lower(login) = ?'.freeze, login.downcase).first if login
return find_by_email(email) if email
raise WrongParams, 'missing user.id or user.login'.freeze
end
def find_by_email(email)
if email_model = Models::Email.find_by_email(email)
email_model.user
else
User.find_by_email(email)
end
end
end
end