class GemMiner::GithubClient
A Github client with GemMiner-specific extensions.
Public Class Methods
new(github_access_token = nil)
click to toggle source
# File lib/gem-miner/github_client.rb, line 8 def initialize(github_access_token = nil) @internal_client = Octokit::Client.new( auto_paginate: true, access_token: github_access_token ) end
Public Instance Methods
files(query)
click to toggle source
Gets the files from a code search.
# File lib/gem-miner/github_client.rb, line 16 def files(query) @internal_client.search_code(query)['items'] .map do |item| { name: name_of(item), content: raw_content(item), } end end
Private Instance Methods
name_of(item)
click to toggle source
# File lib/gem-miner/github_client.rb, line 28 def name_of(item) item[:repository][:full_name] end
raw_content(item)
click to toggle source
# File lib/gem-miner/github_client.rb, line 32 def raw_content(item) content_request = @internal_client.contents(name_of(item), path: item[:path]) Base64.decode64 content_request[:content] end