Class: TempoAPI::Responses::ListWorklogs

Inherits:
TempoAPI::Response show all
Includes:
TempestTime::Helpers::TimeHelper
Defined in:
lib/tempest_time/api/tempo_api/responses/list_worklogs.rb

Instance Method Summary collapse

Methods included from TempestTime::Helpers::TimeHelper

#beginning_of_week, #dates_in_range, #end_of_week, #formatted_date, #formatted_date_range, #formatted_time, #formatted_time_for_input, #formatted_time_long, #future_dates, #parsed_time, #past_dates, #past_week_selections, #week_beginnings, #week_dates

Methods inherited from TempestTime::API::Response

#failure?, #initialize, #message, #success?

Constructor Details

This class inherits a constructor from TempestTime::API::Response

Instance Method Details

#total_hours_spentObject



23
24
25
# File 'lib/tempest_time/api/tempo_api/responses/list_worklogs.rb', line 23

def total_hours_spent
  worklogs.map(&:hours).reduce(:+)&.round(2) || 0
end

#worklogsObject



12
13
14
15
16
17
18
19
20
21
# File 'lib/tempest_time/api/tempo_api/responses/list_worklogs.rb', line 12

def worklogs
  @worklogs ||= results.map do |worklog|
    TempoAPI::Models::Worklog.new(
      id: worklog['tempoWorklogId'],
      issue: worklog.fetch('issue', {}).fetch('key', nil),
      seconds: worklog['timeSpentSeconds'],
      description: worklog['description']
    )
  end.sort_by(&:id)
end