Class: Timet::ValidationEditor
- Inherits:
-
Object
- Object
- Timet::ValidationEditor
- 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
-
#initialize(item, db) ⇒ ValidationEditor
constructor
A new instance of ValidationEditor.
- #update(field, new_value) ⇒ Object
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 |