Class: Timet::ValidationEditor

Inherits:
Object
  • Object
show all
Includes:
TimeValidationHelpers
Defined in:
lib/timet/validation_editor.rb

Overview

Handles validation and editing of time tracking items.

Constant Summary collapse

TIME_FIELDS =
%w[start end].freeze

Instance Method Summary collapse

Methods included from TimeValidationHelpers

adjust_end_datetime_for_next_day, check_start_before_end, create_new_datetime, determine_base_date_time, determine_end_base_date_time, determine_start_base_date_time, fetch_item_after_start, fetch_item_before_end, fetch_item_end, fetch_item_start, format_time, parse_time_string, validate_end_after_start, validate_end_time, validate_future_date, validate_start_before_end, validate_time_difference

Constructor Details

#initialize(item, db) ⇒ ValidationEditor

Returns a new instance of ValidationEditor.



125
126
127
128
# File 'lib/timet/validation_editor.rb', line 125

def initialize(item, db)
  @item = item
  @db = db
end

Instance Method Details

#update(field, new_value) ⇒ Object



130
131
132
133
134
135
136
137
138
139
# File 'lib/timet/validation_editor.rb', line 130

def update(field, new_value)
  case field
  when 'notes' then update_notes(new_value)
  when 'tag' then update_tag(new_value)
  when 'start' then update_start_time(new_value)
  when 'end' then update_end_time(new_value)
  else raise ArgumentError, "Invalid field: #{field}"
  end
  @item
end