Sha256: 7cf67678e81a2fd2ab89b6bbb3ff87d4d2504e094e94788b844721054eee5070

Contents?: true

Size: 1.95 KB

Versions: 6

Compression:

Stored size: 1.95 KB

Contents

require_dependency "hubstats/application_controller"

module Hubstats
  class UsersController < ApplicationController

    def index 
      if params[:query] ## For select 2.
        @users = Hubstats::User.where("login LIKE ?", "%#{params[:query]}%").order("login ASC")
      elsif params[:id] ## 
        @users = Hubstats::User.where(id: params[:id].split(",")).order("login ASC")
      else
        @users = Hubstats::User.only_active.with_all_metrics(@timespan).with_id(params[:users]).custom_order(params[:order]).paginate(:page => params[:page], :per_page => 15)
      end
      
      respond_to do |format|
        format.html # index.html.erb
        format.json { render :json => @users}
      end
    end

    def show
      @user = Hubstats::User.where(login: params[:id]).first
      @pull_requests = Hubstats::PullRequest.belonging_to_user(@user.id).updated_since(@timespan).order("updated_at DESC").limit(20)
      @comments = Hubstats::Comment.belonging_to_user(@user.id).created_since(@timespan).order("created_at DESC").limit(20)
      @review = Hubstats::User.pulls_reviewed_count(@timespan).where(login: params[:id]).first
      @pull_count = Hubstats::PullRequest.belonging_to_user(@user.id).updated_since(@timespan).count(:all)
      @comment_count = Hubstats::Comment.belonging_to_user(@user.id).created_since(@timespan).count(:all)
      @stats = {
        pull_count: @pull_count,
        comment_count: @comment_count,
        review_count: @review ? @review.reviews_count : 0,
        avg_additions: Hubstats::PullRequest.updated_since(@timespan).belonging_to_user(@user.id).average(:additions).to_i,
        avg_deletions: Hubstats::PullRequest.updated_since(@timespan).belonging_to_user(@user.id).average(:deletions).to_i,
        net_additions: Hubstats::PullRequest.updated_since(@timespan).belonging_to_user(@user.id).sum(:additions).to_i - Hubstats::PullRequest.updated_since(@timespan).belonging_to_user(@user.id).sum(:deletions).to_i
      }
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
hubstats-0.1.3 app/controllers/hubstats/users_controller.rb
hubstats-0.1.2 app/controllers/hubstats/users_controller.rb
hubstats-0.1.1 app/controllers/hubstats/users_controller.rb
hubstats-0.1.0 app/controllers/hubstats/users_controller.rb
hubstats-0.0.23 app/controllers/hubstats/users_controller.rb
hubstats-0.0.22 app/controllers/hubstats/users_controller.rb