timet 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 55f8b3fd0c640575797c71c95cf9b50f0bd6135c00d7c8568bd65ae25904bca1
4
- data.tar.gz: edfdac3660867a1cc7216ae65e0205355dfd39ea4642864d02b3d7c86f80ff15
3
+ metadata.gz: 5987e8625e55cc1ce0c9ceca0cdafc752d6299bb61cf25b910d5cf27997145fe
4
+ data.tar.gz: dbcd75820a2f84d1870592d37ff698986e40b6b938bf57f598ca335a3bf592b8
5
5
  SHA512:
6
- metadata.gz: 1f4bcd8c0046553ed29036eadbf51506e9e4a7be1b4bcbe04b0e8182117877d6c58d98b4a7472ca0e04f3ebed63ea79beb4648819215b8fbd2f84b18dcefe278
7
- data.tar.gz: 96f2c3f60f6896a16f4d003fa1f4b229d29df8ae527c74cbabe6cc5abdc527fd73c199c4b33b36374af953e2bf7949bb420911f2f3cae640bfd9e7c2d345eb35
6
+ metadata.gz: 619fecc791710b66e6022dca17526b8a728ba6bad7da09053052dcd632321b5a3400af4b3fd5d477857aff9d04dee326f109cb84c5feac3ad13a8f8e550d7dbe
7
+ data.tar.gz: e51aa5af43607e9176dd90b5f0eab61492117d97a517039684e38fe93de76fb6b81b642f550226ecaaa8b83e5708ae09bc77ba406da06a10d43230e81bf1645f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.2.2] - 2024-09-27
4
+
5
+ * **Improvements**:
6
+ * Updated SQLite3 gem version to 2.1.0
7
+
8
+ ## [0.2.1] - 2024-09-24
9
+
10
+ * **Improved `resume` behavior:**
11
+ * If no notes are provided, it will attempt to retrieve them from the last tracked task.
12
+ * **Enhanced `export_sheet` functionality:**
13
+ * A new `notes` column has been added to the exported CSV file.
14
+ * **Minor bug fixes:**
15
+ * Resolved issues related to resuming tasks with notes and deleting items.
16
+
17
+
3
18
  ## [0.2.0] - 2024-09-24
4
19
 
5
20
  * **Improved code quality:**
@@ -15,9 +15,10 @@ module Timet
15
15
 
16
16
  desc "start [tag] --notes='...'", "start time tracking --notes='my notes...'"
17
17
  option :notes, type: :string, desc: 'Add a note'
18
- def start(tag)
18
+ def start(tag, notes = nil)
19
19
  start = Time.now.to_i
20
- @db.insert_item(start, tag, options[:notes]) if %i[no_items complete].include?(@db.last_item_status)
20
+ notes = options[:notes] || notes
21
+ @db.insert_item(start, tag, notes) if %i[no_items complete].include?(@db.last_item_status)
21
22
  summary
22
23
  end
23
24
 
@@ -36,8 +37,10 @@ module Timet
36
37
  def resume
37
38
  if @db.last_item_status == :incomplete
38
39
  puts 'A task is currently being tracked.'
39
- elsif (last_task = @db.last_item&.[](3))
40
- start last_task
40
+ elsif @db.last_item.any?
41
+ tag = @db.last_item[3]
42
+ notes = @db.last_item[4]
43
+ start(tag, notes)
41
44
  end
42
45
  end
43
46
 
@@ -57,7 +60,7 @@ module Timet
57
60
  item = @db.find_item(id)
58
61
  return puts "No tracked time found for id: #{id}" unless item
59
62
 
60
- TimeReport.new(@db, nil, nil).row(item)
63
+ TimeReport.new(@db, nil, nil, nil).show_row(item)
61
64
  return unless TTY::Prompt.new.yes?('Are you sure you want to delete this entry?')
62
65
 
63
66
  delete_item_and_print_message(id, "Deleted #{id}")
@@ -31,7 +31,7 @@ module Timet
31
31
  total
32
32
  end
33
33
 
34
- def row(item)
34
+ def show_row(item)
35
35
  format_table_header
36
36
  display_time_entry(item)
37
37
  puts format_table_separator
@@ -39,18 +39,17 @@ module Timet
39
39
  end
40
40
 
41
41
  def export_sheet
42
- header = %w[ID Start End Tag]
43
-
44
42
  CSV.open("#{filename}.csv", 'w') do |csv|
45
- csv << header
46
-
47
- items.each do |row|
48
- # Convert start and end times from timestamps to ISO 8601 format
49
- start_time = Time.at(row[1]).strftime('%Y-%m-%d %H:%M:%S')
50
- end_time = Time.at(row[2]).strftime('%Y-%m-%d %H:%M:%S')
51
-
52
- # Write the row with formatted times
53
- csv << [row[0], start_time, end_time, row[3]]
43
+ csv << %w[ID Start End Tag Notes]
44
+
45
+ items.each do |id, start_time, end_time, tags, notes|
46
+ csv << [
47
+ id,
48
+ TimeHelper.format_time(start_time),
49
+ TimeHelper.format_time(end_time),
50
+ tags,
51
+ notes
52
+ ]
54
53
  end
55
54
  end
56
55
  end
@@ -65,7 +64,7 @@ module Timet
65
64
  date if idx.zero? || date != TimeHelper.timestamp_to_date(last_start_date)
66
65
  end
67
66
 
68
- def display_time_entry(item, date)
67
+ def display_time_entry(item, date = nil)
69
68
  return puts 'Missing time entry data.' unless item
70
69
 
71
70
  id, start_time_value, end_time_value, tag_name, notes = item
data/lib/timet/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Timet
4
- VERSION = '0.2.0'
4
+ VERSION = '0.2.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frank Vielma
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-24 00:00:00.000000000 Z
11
+ date: 2024-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor