Skip to content

Commit c836712

Browse files
committed
use areMetricsEqual method
1 parent 702d593 commit c836712

1 file changed

Lines changed: 15 additions & 10 deletions

File tree

app/Metrics/App/WikiMetrics.php

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,37 @@
77

88
class WikiMetrics
99
{
10-
1110
public function saveMetrics(Wiki $wiki): void
1211
{
1312
$today = now()->format('Y-m-d');
1413
$oldRecord = WikiDailyMetrics::where('wiki_id', $wiki->id)->latest('date')->first();
1514
$todayPageCount = $wiki->wikiSiteStats()->first()->pages ?? 0;
1615
$isDeleted = (bool)$wiki->deleted_at;
16+
17+
$dailyMetrics = new WikiDailyMetrics([
18+
'id' => $wiki->id . '_' . date('Y-m-d'),
19+
'pages' => $todayPageCount,
20+
'is_deleted' => $isDeleted,
21+
'date' => $today,
22+
'wiki_id' => $wiki->id
23+
]);
24+
1725
if ($oldRecord) {
1826
if ($oldRecord->is_deleted) {
1927
\Log::info("Wiki is deleted, no new record for WikiMetrics ID {$wiki->id}.");
2028
return;
2129
}
30+
2231
if (!$isDeleted) {
23-
if ($oldRecord->pages === $todayPageCount) {
24-
\Log::info("Page count unchanged for WikiMetrics ID {$wiki->id}, no new record added.");
32+
if ($oldRecord->areMetricsEqual($dailyMetrics)) {
33+
\Log::info("Record unchanged for WikiMetrics ID {$wiki->id}, no new record added.");
2534
return;
2635
}
2736
}
2837
}
29-
WikiDailyMetrics::create([
30-
'id' => $wiki->id . '_' . date('Y-m-d'),
31-
'pages' => $todayPageCount,
32-
'is_deleted' => $isDeleted,
33-
'date' => $today,
34-
'wiki_id' => $wiki->id,
35-
]);
38+
39+
$dailyMetrics->save();
40+
3641
\Log::info("New metric recorded for WikiMetrics ID {$wiki->id}");
3742
}
3843

0 commit comments

Comments
 (0)