Sha256: 29efdf06183eb2d6c03daff491c85bfff0692151c253783f28c09687485f27f7
Contents?: true
Size: 1.01 KB
Versions: 2
Compression:
Stored size: 1.01 KB
Contents
require 'octokit' require 'eldritch' require_relative './commit_cache' require_relative './commit_reader' Octokit.auto_paginate = true module PairingMatrix class GithubCommitReader < CommitReader def initialize(config) super(config) @github_client = github_client @cache = CommitCache.new end def read(since) cache = @cache.get(since) return cache unless cache.nil? commits = [] together do @config.github_repos.map do |repo| async do commits << fetch_commits(repo, since) end end end result = commits.flatten @cache.put(since, result) result end private def fetch_commits(repo, since) @github_client.commits_since(repo, since).map { |commit| commit.commit.message } end def github_client if @config.has_github_access_token? Octokit::Client.new(:access_token => @config.github_access_token) else Octokit::Client.new end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pairing_matrix-2.2 | lib/pairing_matrix/github_commit_reader.rb |
pairing_matrix-2.1.1 | lib/pairing_matrix/github_commit_reader.rb |