Module: QTimetrap::ViewModels::MainViewModelEntryTimeHelpers

Included in:
MainViewModel
Defined in:
app/view_models/main_view_model_entry_time_helpers.rb

Overview

Entry time update behavior for MainViewModel.

Instance Method Summary collapse

Instance Method Details

#update_entry_time(entry_id, start_text, end_text) ⇒ Object

Raises:

  • (ArgumentError)


7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/view_models/main_view_model_entry_time_helpers.rb', line 7

def update_entry_time(entry_id, start_text, end_text)
  normalized_id = entry_id.to_i
  return if normalized_id.zero?

  entry = entries.find { |item| item.id.to_i == normalized_id }
  raise ArgumentError, "Entry not found: #{normalized_id}" unless entry

  start_time = parse_entry_clock_value(entry.start_time, start_text)
  end_time = parse_entry_clock_value(entry.end_time || entry.start_time, end_text)

  gateway.update_time(normalized_id, start_time: start_time, end_time: end_time)
  refresh!
end