class TimetrapHarvest::Output

Constants

FAILED_HEADER
LINE_DIVIDER
SUBMITTED_HEADER

Attributes

results[R]

Public Class Methods

new(results = {}) click to toggle source
# File lib/timetrap_harvest/output.rb, line 8
def initialize(results = {})
  @results = results
end

Public Instance Methods

generate() click to toggle source
# File lib/timetrap_harvest/output.rb, line 12
def generate
  messages = [stats]

  unless submitted.empty?
    messages << SUBMITTED_HEADER
    messages += submitted.map { |submitted| success_message(submitted[:notes]) }
    messages << "\n"
  end

  unless failed.empty?
    messages << FAILED_HEADER
    messages += failed.map { |failed| failed_message(failed[:note], failed[:error]) }
    messages << "\n"
  end

  messages.join("\n")
end

Private Instance Methods

failed() click to toggle source
# File lib/timetrap_harvest/output.rb, line 40
def failed
  results.fetch(:failed, [])
end
failed_message(note, error) click to toggle source
# File lib/timetrap_harvest/output.rb, line 48
def failed_message(note, error)
  "Failed (#{error}): #{note}"
end
stats() click to toggle source
# File lib/timetrap_harvest/output.rb, line 32
def stats
  "Submitted: #{submitted.count}\nFailed: #{failed.count}\n"
end
submitted() click to toggle source
# File lib/timetrap_harvest/output.rb, line 36
def submitted
  results.fetch(:submitted, [])
end
success_message(note) click to toggle source
# File lib/timetrap_harvest/output.rb, line 44
def success_message(note)
  "Submitted: #{note}"
end