Skip to content

Commit 2c50509

Browse files
committed
feat: 全ニュース記事のタイムゾーンを JST に統一
- WordPress 記事: UTC から JST(+09:00)への自動変換を実装 - PR TIMES 記事: 既存の JST を保持 - news:fetch と news:fetch:reset 両タスクで JST 統一 - タイムゾーン情報を完全保持(ISO 8601 形式) Before: - WordPress: '2025-10-04T13:20:16Z' (UTC) - PR TIMES: '2025-10-24T20:00:07+09:00' (JST) After: - WordPress: '2025-10-04T22:20:16+09:00' (JST) - PR TIMES: '2025-10-24T20:00:07+09:00' (JST)
1 parent caae802 commit 2c50509

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

lib/tasks/news.rake

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ namespace :news do
4343
{
4444
'url' => item.link,
4545
'title' => item.title,
46-
'published_at' => published_at.iso8601 # ISO 8601 形式に統一
46+
'published_at' => published_at.in_time_zone('Asia/Tokyo').iso8601 # JST に統一
4747
}
4848
}
4949
end
@@ -113,12 +113,9 @@ namespace :news do
113113

114114
# 2. WordPress REST API からすべての投稿を取得
115115
dojo_news_items = []
116-
page = 1
117-
per_page = 100
118-
119-
loop do
116+
loop.with_index(1) do |_, index|
120117
uri = URI("https://news.coderdojo.jp/wp-json/wp/v2/posts")
121-
uri.query = URI.encode_www_form(page: page, per_page: per_page, status: 'publish')
118+
uri.query = URI.encode_www_form(page: index, per_page: 100, status: 'publish')
122119

123120
response = Net::HTTP.get_response(uri)
124121
break unless response.is_a?(Net::HTTPSuccess)
@@ -128,9 +125,9 @@ namespace :news do
128125

129126
posts.each do |post|
130127
dojo_news_items << {
131-
'url' => post['link'],
132-
'title' => post['title']['rendered'],
133-
'published_at' => Time.parse(post['date_gmt'] + ' UTC').iso8601
128+
'url' => post['link'],
129+
'title' => post['title']['rendered'],
130+
'published_at' => Time.parse(post['date_gmt'] + ' UTC').in_time_zone('Asia/Tokyo').iso8601
134131
}
135132
end
136133

0 commit comments

Comments
 (0)