travis-api/lib/travis/services/find_requests.rb
Aakriti Gupta c6a1eda572 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-28 15:09:08 +02:00

51 lines
1.3 KiB
Ruby

require 'core_ext/active_record/none_scope'
module Travis
module Services
class FindRequests < Base
register :find_requests
def run
preload(result)
end
private
def preload(requests)
requests.includes(:commit, :builds)
end
def result
if repo
columns = %w/id repository_id commit_id created_at owner_id owner_type
event_type base_commit head_commit result message payload state/
requests = repo.requests.select(columns.map { |c| %Q["requests"."#{c}"] })
if params[:older_than]
requests.older_than(params[:older_than])
else
requests.recent(requests_limit)
end
else
raise Travis::RepositoryNotFoundError.new(params)
end
end
def repo
@repo ||= run_service(:find_repo, params)
end
def requests_limit
max_limit = Travis.config.services.find_requests.max_limit
default_limit = Travis.config.services.find_requests.default_limit
if !params[:limit]
default_limit
elsif params[:limit] > max_limit
max_limit
else
params[:limit]
end
end
end
end
end