Class: Prdigest::FactsRunner

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

Instance Method Summary collapse

Constructor Details

#initialize(config:, date: nil, repositories: nil, env: ENV, clock: nil, github: nil) ⇒ FactsRunner

Returns a new instance of FactsRunner.



7
8
9
10
11
12
13
# File 'lib/prdigest/facts_runner.rb', line 7

def initialize(config:, date: nil, repositories: nil, env: ENV, clock: nil, github: nil)
  @config = config
  @date = date && Date.iso8601(date.to_s)
  @repositories = repositories || config.repos
  @clock = clock || Clock.new(timezone: config.timezone)
  @github = github || GitHub.new(token: config.github_token(env))
end

Instance Method Details

#callObject



15
16
17
18
19
20
21
22
23
24
# File 'lib/prdigest/facts_runner.rb', line 15

def call
  date = @date || @clock.yesterday
  digest = Collector.new(
    clock: @clock,
    github: @github,
    repositories: @repositories,
    line_stats: @config.line_stats?
  ).call(date: date)
  Facts.new(digest: digest, timezone: @config.timezone).to_h
end

#inspectObject Also known as: to_s



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

def inspect
  "#<#{self.class} date=#{@date || "yesterday"} credentials=[REDACTED]>"
end