Class: TimetrapToggl::Output

Inherits:
Object
  • Object
show all
Defined in:
lib/timetrap_toggl/output.rb

Constant Summary collapse

LINE_DIVIDER =
'-' * 80
SUBMITTED_HEADER =
"Submitted entries\n#{LINE_DIVIDER}"
FAILED_HEADER =
"Failed entries\n#{LINE_DIVIDER}"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(results, projects) ⇒ Output

Returns a new instance of Output.



8
9
10
11
# File 'lib/timetrap_toggl/output.rb', line 8

def initialize(results, projects)
  @results = results
  @projects = projects
end

Instance Attribute Details

#projectsObject (readonly)

Returns the value of attribute projects.



6
7
8
# File 'lib/timetrap_toggl/output.rb', line 6

def projects
  @projects
end

#resultsObject (readonly)

Returns the value of attribute results.



6
7
8
# File 'lib/timetrap_toggl/output.rb', line 6

def results
  @results
end

Instance Method Details

#generateObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/timetrap_toggl/output.rb', line 13

def generate
  messages = [stats]

  unless .empty?
    messages << SUBMITTED_HEADER
    messages += .map do ||
      project = projects.find { |p| p["id"] == ["pid"] }
      success_message("#{project["name"]} - #{["description"]}")
    end
    messages << "\n"
  end

  unless failed.empty?
    messages << FAILED_HEADER
    messages += failed.map do |failed|
      project = projects.find { |p| p["id"] == failed["pid"] }
      failed_message(failed[:note], failed[:error])
    end
    messages << "\n"
  end

  messages.join("\n")
end