Skip to content

Commit 14b6bca

Browse files
committed
refactor: upsert タスクの変数名統一と可読性向上
- entries → news_items: より意図が明確な変数名 - attrs → item: 簡潔で分かりやすい命名 - new_count → created_count: fetch タスクとの一貫性 - is_new → is_new_record: より具体的で明確 - 三項演算子を if/unless に変更して可読性向上 - 両タスク間での用語統一でコード全体の一貫性確保
1 parent 16458fa commit 14b6bca

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

lib/tasks/news.rake

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,9 @@ namespace :news do
8181
f.write(formatted_items.to_yaml)
8282
end
8383

84-
logger.info("✅ Wrote #{merged_items.size} items to #{NEWS_YAML_PATH} (#{created_items.size} new, #{updated_items.size} updated)")
85-
logger.info('==== END news:fetch ====')
84+
logger.info "✅ Wrote #{merged_items.size} items to #{NEWS_YAML_PATH} (#{created_items.size} new, #{updated_items.size} updated)"
85+
logger.info "==== END news:fetch ===="
86+
logger.info ""
8687
end
8788

8889
desc "#{NEWS_YAML_PATH} からデータベースに upsert"
@@ -93,32 +94,33 @@ namespace :news do
9394

9495
logger.info "==== START news:upsert ===="
9596

96-
entries = YAML.safe_load File.read(NEWS_YAML_PATH)
97-
new_count = 0
97+
news_items = YAML.safe_load File.read(NEWS_YAML_PATH)
98+
created_count = 0
9899
updated_count = 0
99100

100101
News.transaction do
101-
entries.each do |attrs|
102-
news = News.find_or_initialize_by(url: attrs['url'])
103-
is_new = news.new_record?
104-
102+
news_items.each do |item|
103+
news = News.find_or_initialize_by(url: item['url'])
105104
news.assign_attributes(
106-
title: attrs['title'],
107-
published_at: attrs['published_at']
105+
title: item['title'],
106+
published_at: item['published_at']
108107
)
109108

110-
if is_new || news.changed?
109+
is_new_record = news.new_record?
110+
if is_new_record || news.changed?
111111
news.save!
112-
status = is_new ? 'new' : 'updated'
113-
new_count += 1 if is_new
114-
updated_count += 1 unless is_new
112+
113+
status = is_new_record ? 'new' : 'updated'
114+
created_count += 1 if is_new_record
115+
updated_count += 1 unless is_new_record
115116

116117
logger.info "[News] #{news.published_at.to_date} #{news.title} (#{status})"
117118
end
118119
end
119120
end
120121

121-
logger.info "Upserted #{new_count + updated_count} items (#{new_count} new, #{updated_count} updated)."
122+
logger.info "Upserted #{created_count + updated_count} items (#{created_count} new, #{updated_count} updated)."
122123
logger.info "==== END news:upsert ===="
124+
logger.info ""
123125
end
124126
end

0 commit comments

Comments
 (0)