65 lines
2.2 KiB
Ruby
65 lines
2.2 KiB
Ruby
module Travis
|
|
module Api
|
|
module V2
|
|
module Http
|
|
class Requests
|
|
include Formats
|
|
attr_reader :requests, :commits, :options
|
|
|
|
def initialize(requests, options = {})
|
|
@requests = requests
|
|
@commits = requests.map(&:commit)
|
|
@options = options
|
|
end
|
|
|
|
def data
|
|
{
|
|
'requests' => requests.map { |request| request_data(request) },
|
|
'commits' => commits.compact.map { |commit| commit_data(commit) }
|
|
}
|
|
end
|
|
|
|
private
|
|
|
|
def request_data(request)
|
|
{
|
|
'id' => request.id,
|
|
'repository_id' => request.repository_id,
|
|
'commit_id' => request.commit_id,
|
|
'created_at' => format_date(request.created_at),
|
|
'owner_id' => request.owner_id,
|
|
'owner_type' => request.owner_type,
|
|
'event_type' => request.event_type,
|
|
'base_commit' => request.base_commit,
|
|
'head_commit' => request.head_commit,
|
|
'result' => request.result,
|
|
'message' => request.message,
|
|
'pull_request' => request.pull_request?,
|
|
'pull_request_number' => request.pull_request_number,
|
|
'pull_request_title' => request.pull_request_title,
|
|
'branch' => request.branch_name,
|
|
'tag' => request.tag_name
|
|
}
|
|
end
|
|
|
|
def commit_data(commit)
|
|
{
|
|
'id' => commit.id,
|
|
'sha' => commit.commit,
|
|
'branch' => commit.branch,
|
|
'message' => commit.message,
|
|
'committed_at' => format_date(commit.committed_at),
|
|
'author_name' => commit.author_name,
|
|
'author_email' => commit.author_email,
|
|
'committer_name' => commit.committer_name,
|
|
'committer_email' => commit.committer_email,
|
|
'compare_url' => commit.compare_url,
|
|
'pull_request_number' => commit.pull_request_number
|
|
}
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|