Class: Hubstats::PullRequestsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/hubstats/pull_requests_controller.rb

Instance Method Summary collapse

Instance Method Details

#indexObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'app/controllers/hubstats/pull_requests_controller.rb', line 6

def index
  URI.decode(params[:label]) if params[:label]

  pull_ids = Hubstats::PullRequest
    .belonging_to_users(params[:users])
    .belonging_to_repos(params[:repos])
    .state_based_order(@timespan,params[:state],"ASC")
    .map(&:id)

  @labels = Hubstats::Label.with_a_pull_request(pull_ids).order("pull_request_count DESC")

  @pull_requests = Hubstats::PullRequest.includes(:user).includes(:repo)
    .belonging_to_users(params[:users]).belonging_to_repos(params[:repos])
    .group_by(params[:group]).with_label(params[:label])
    .state_based_order(@timespan,params[:state],params[:order])
    .paginate(:page => params[:page], :per_page => 15)

  if params[:group] == 'user'
    @groups = @pull_requests.to_a.group_by(&:user_name)
  elsif params[:group] == 'repo'
    @groups = @pull_requests.to_a.group_by(&:repo_name)
  end

end

#showObject



31
32
33
34
35
36
37
38
39
40
# File 'app/controllers/hubstats/pull_requests_controller.rb', line 31

def show
  @repo = Hubstats::Repo.where(name: params[:repo]).first
  @pull_request = Hubstats::PullRequest.belonging_to_repo(@repo.id).where(id: params[:id]).first
  @comments = Hubstats::Comment.belonging_to_pull_request(params[:id]).includes(:user).created_since(@timespan).limit(20)
  @comment_count = Hubstats::Comment.belonging_to_pull_request(params[:id]).includes(:user).created_since(@timespan).count(:all)
  @stats = {
    comment_count: @comment_count,
    net_additions: @pull_request.additions.to_i - @pull_request.deletions.to_i
  }
end