class Github::Repos::Statistics

for visualizing different types of repository activity.
The Repository Statistics API allows you to fetch the data that GitHub uses

def code_frequency(*args)


github.repos.stats.code_frequency user: '...', repo: '...' { |stat| ... }
github.repos.stats.code_frequency user: '...', repo: '...'
github = Github.new

= Examples

Get the number of additions and deletions per week
def code_frequency(*args)
  arguments(args, :required => [:user, :repo])
  params = arguments.params
  get_request("/repos/#{user}/#{repo}/stats/code_frequency", params)
end

def commit_activity(*args)


github.repos.stats.commit_activity user: '...', repo: '...' { |stat| ... }
github.repos.stats.commit_activity user: '...', repo: '...'
github = Github.new

= Examples

The days array is a group of commits per day, starting on Sunday
Returns the last year of commit activity grouped by week.

Get the last year of commit activity data
def commit_activity(*args)
  arguments(args, :required => [:user, :repo])
  params = arguments.params
  response = get_request("/repos/#{user}/#{repo}/stats/commit_activity", params)
  return response unless block_given?
  response.each { |el| yield el }
end

def contributors(*args)


github.repos.stats.contributors user: '...', repo: '...' { |stat| ... }
github.repos.stats.contributors user: '...', repo: '...'
github = Github.new

= Examples

Get contributors list with additions, deletions, and commit counts
def contributors(*args)
  arguments(args, :required => [:user, :repo])
  params = arguments.params
  response = get_request("/repos/#{user}/#{repo}/stats/contributors", params)
  return response unless block_given?
  response.each { |el| yield el }
end

def participation(*args)


github.repos.stats.participation user: '...', repo: '...' { |stat| ... }
github.repos.stats.participation user: '...', repo: '...'
github = Github.new

= Examples

Get the weekly commit count for the repo owner and everyone else
def participation(*args)
  arguments(args, :required => [:user, :repo])
  params = arguments.params
  get_request("/repos/#{user}/#{repo}/stats/participation", params)
end

def punch_card(*args)


github.repos.stats.punch_card user: '...', repo: '...' { |stat| ... }
github.repos.stats.punch_card user: '...', repo: '...'
github = Github.new

= Examples

Get the number of commits per hour in each day
def punch_card(*args)
  arguments(args, :required => [:user, :repo])
  params = arguments.params
  response = get_request("/repos/#{user}/#{repo}/stats/punch_card", params)
  return response unless block_given?
  response.each { |el| yield el }
end