Class: Prdigest::ProseRunner
- Inherits:
-
Object
- Object
- Prdigest::ProseRunner
- Defined in:
- lib/prdigest/prose_runner.rb
Defined Under Namespace
Classes: GeneratedPayload, Outcome
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(config:, date: nil, deliver: false, repositories: nil, env: ENV, clock: nil, github: nil, generator: nil, renderer: nil, telegram_factory: nil, checkpoint_store_factory: nil) ⇒ ProseRunner
constructor
A new instance of ProseRunner.
- #inspect ⇒ Object (also: #to_s)
Constructor Details
#initialize(config:, date: nil, deliver: false, repositories: nil, env: ENV, clock: nil, github: nil, generator: nil, renderer: nil, telegram_factory: nil, checkpoint_store_factory: nil) ⇒ ProseRunner
Returns a new instance of ProseRunner.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/prdigest/prose_runner.rb', line 15 def initialize(config:, date: nil, deliver: false, repositories: nil, env: ENV, clock: nil, github: nil, generator: nil, renderer: nil, telegram_factory: nil, checkpoint_store_factory: nil) @config = config @date = date && Date.iso8601(date.to_s) @deliver = deliver == true @repositories = repositories || config.repos @env = env @clock = clock || Clock.new(timezone: config.timezone) @github = github @generator = generator @renderer = renderer || ProseRenderer.new @telegram_factory = telegram_factory || method(:build_telegram) @checkpoint_store_factory = checkpoint_store_factory || method(:build_checkpoint_store) end |
Instance Method Details
#call ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/prdigest/prose_runner.rb', line 31 def call date = @date || @clock.yesterday return deliver(date) if @deliver generated = generate(date) Outcome.new(date: date, prose: generated.prose) end |
#inspect ⇒ Object Also known as: to_s
39 40 41 |
# File 'lib/prdigest/prose_runner.rb', line 39 def inspect "#<#{self.class} date=#{@date || "yesterday"} deliver=#{@deliver} credentials=[REDACTED]>" end |