Class: Prdigest::GitHub

Inherits:
Object
  • Object
show all
Defined in:
lib/prdigest/github.rb

Constant Summary collapse

SEARCH_CAP =
1_000
MAX_ATTEMPTS =
3

Instance Method Summary collapse

Constructor Details

#initialize(token:, client: nil, sleeper: ->(seconds) { sleep(seconds) }, now: -> { Time.now.to_i }) ⇒ GitHub

Returns a new instance of GitHub.



12
13
14
15
16
17
# File 'lib/prdigest/github.rb', line 12

def initialize(token:, client: nil, sleeper: ->(seconds) { sleep(seconds) }, now: -> { Time.now.to_i })
  @token = token.to_s
  @client = client || default_client
  @sleeper = sleeper
  @now = now
end

Instance Method Details

#fetch(date:, window:, repositories:, line_stats: false) ⇒ Object



19
20
21
22
23
24
# File 'lib/prdigest/github.rb', line 19

def fetch(date:, window:, repositories:, line_stats: false)
  pulls = repositories.flat_map do |repository|
    fetch_repository(repository, date, window, line_stats)
  end
  DayDigest.build(date: date, repository_order: repositories, pulls: pulls, line_stats: line_stats)
end

#inspectObject Also known as: to_s



26
27
28
# File 'lib/prdigest/github.rb', line 26

def inspect
  "#<#{self.class} token=[REDACTED]>"
end