fewald-worklog 0.3.17 → 0.3.18

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/.version +1 -1
  3. data/lib/worklog.rb +17 -7
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: daf7ba6ce29841da81257ab2588d1a0a8c5e8d676ddc1e2e128193800c0c99bd
4
- data.tar.gz: 6be278d7cee0950a81547ed66f4e3705fae8996295c6bf6fff4ad49e2301bc7c
3
+ metadata.gz: 691934914763f18fbf4695873e5bd5c529a31fc5b2d67c68ec19b9d30647dded
4
+ data.tar.gz: ef97e71d9881018b85071d16339980196a250f34ef449ae295ec330176606fab
5
5
  SHA512:
6
- metadata.gz: 57dff043170f5d3bf474367a7589350d76d132140a3e3a97335d01547442401f9151b67ec21eaedf0d283f89a25184fe4e045e7c793f66043961cf41806a5379
7
- data.tar.gz: 012ba10f1d2b98e429ccf0e8ac500022ccb10bb1b9ec75070679e91edade978539b724c855a88e339248718567e8faa89d6ac6f8adbbf008c393841672b561a9
6
+ metadata.gz: 005733caa2baaed390cebb2f8c8d55ccfefa0e8fe225a2a1776b98c733075453b9ba09193d6dbbe6e5020db10af965d818360401a79292d04cc9ac936337c485
7
+ data.tar.gz: 10eb61fab0d9d51a50bb8bb61ca793af7986f0cc7490c7b34799310422b1bce4aac3c1dc6306a3b53888a300630b962ee66b3a9c1d5bbcf4e2b3e70f318cca97
data/.version CHANGED
@@ -1 +1 @@
1
- 0.3.17
1
+ 0.3.18
data/lib/worklog.rb CHANGED
@@ -156,18 +156,28 @@ module Worklog
156
156
  puts "Processing #{events.size} events for '#{date}'"
157
157
  @storage.create_file_skeleton(date)
158
158
  daily_log = @storage.load_log!(@storage.filepath(date))
159
- entries_before = daily_log.entries.size
159
+ dirty = false
160
160
  events.each do |event|
161
+ # Convert event to log entry
161
162
  log_entry = event.to_log_entry(@people_storage)
162
- WorkLogger.debug('Entry already exists, skipping') if daily_log.key?(log_entry.key)
163
- daily_log << log_entry unless daily_log.key?(log_entry.key)
164
- WorkLogger.debug "Added entry: #{log_entry.message_string}"
163
+
164
+ # Check if entry already exists
165
+ if daily_log.key?(log_entry.key)
166
+ WorkLogger.debug('Entry already exists, skipping')
167
+ else
168
+ daily_log << log_entry
169
+ # Mark log as dirty to trigger write later
170
+ dirty = true
171
+ WorkLogger.debug "Added entry: #{log_entry.message_string}"
172
+ end
165
173
  end
166
- entries_after = daily_log.entries.size
167
- WorkLogger.info Rainbow("Added #{entries_after - entries_before} new entries for #{date}").green
168
174
 
169
175
  # Write log back to storage
170
- @storage.write_log(@storage.filepath(date), daily_log)
176
+ if dirty
177
+ @storage.write_log(@storage.filepath(date), daily_log)
178
+ else
179
+ WorkLogger.info Rainbow("No new entries to add for #{date}, skipping write.").yellow
180
+ end
171
181
  end
172
182
  end
173
183
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fewald-worklog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.17
4
+ version: 0.3.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Friedrich Ewald