Conversation
|
@yasulab 現状、RSSフィードから取得したニュースタイトルには、絵文字が含まれるもの(例: 「🎲 ダイス〜」)と含まれないもの(例: 「DojoLetter〜」)が混在しています。 以下の2点の方針とその実装方法について、意見を伺いたいです🙌
この方針で進めて問題ないでしょうか?🙌
この正規表現を使った判定方法で問題ないでしょうか? お忙しいところ恐縮ですが、お時間がある際にご確認をお願いいたします! 🙏 |
|
@nacchan99 ご提案ありがとうございます!以下の方針がよさそうですね!(๑˃̵ᴗ˂̵)b✨
@nacchan99 質問する前にまずは "Ruby 絵文字" で検索 して、よりシンプルな方法がないか調べてみましょう! 🔍 💨 https://www.google.com/search?q=Ruby+絵文字 |
rakuda-san-desu
left a comment
There was a problem hiding this comment.
一旦実装コード側についてコメントしています!
テストとタスクについては別途共有・相談させてください🙏
|
2025/07/16 朝会後に共有したこと
|
|
@nanophate actionsのワークフローについて、お手隙の際にコメントいただけると嬉しいです🙏 やりたいこと当PR内で以下の動きを確認できると嬉しいなと考えています。 ワークフローは main ブランチに存在しないと実行できないようなので、以下の方法を考えていますが認識良さそうでしょうか?
|
|
f577bcb でブランチでもワークフローが認識されました! |
上記の方法で、コミットした際にトリガーするように対応。一応、GitHub CLI を活用することで、手元からのトリガーが行えることも可能と確認 |
|
Claude finished @nacchan99's task —— View job Code Review CompleteReviewing this PR for code quality, potential bugs, performance considerations, security concerns, and test coverage. Review Checklist:
🔍 Detailed Code Review✅ Strengths
|
763dc0c to
e221bbd
Compare
|
Claude finished @nacchan99's task —— View job Code Review CompleteReviewing this PR for code quality, potential bugs, performance considerations, security concerns, and test coverage. Review Checklist:
🔍 Detailed Code Review✅ Strengths
|
e221bbd to
a607102
Compare
|
Claude finished @nacchan99's task —— View job Reviewing this PR for code quality, potential bugs, performance considerations, security concerns, and test coverage. Review Checklist:
🔍 Detailed Code Review✅ Strengths
|
|
CIテストのエラー解消のため、mainブランチをリベースして最新を取り込みました🙌 |
- に タスクを実装 - CoderDojo.jp の RSS フィードから記事タイトル、公開日、URL を取得して出力 - URL を ID として重複排除を実装 - をテスト用フィクスチャとして追加
- .github/workflows/fetch_news.yml を作成
- cron('0 0 * * *') で毎朝 9:00 JST に自動実行を設定
- workflow_dispatch による手動トリガーを有効化
- ruby/setup-ruby で から Ruby をセットアップ+bundler-cache を有効化
- news:fetch タスク実行後に db/news.yml の差分をコミット&プッシュする処理を追加
- title:string、url:string、published_at:datetime の Newsモデルを生成 - url カラムにユニークインデックスを追加し重複登録を防止 - spec/models/news_spec.rb にモデルスペック用ファイルを作成 - spec/factories/news.rb に FactoryBot ファクトリを追加
- lib/tasks/import_news.rake を作成し、db/news.yml の内容を News テーブルに upsert するタスクを実装 - db/news.yml を空の配列形式()で初期化
- home_controller.rb: - ニュースデータをDBから取得し、@news_itemsに格納するロジックを追加。 - 最新7件を公開日降順で表示する。 - show.html.erb: - ニュース表示部分をハードコードから@news_itemsを使った動的表示に変更。 - タイトルに既存の絵文字がない場合は「📰」を自動付与するロジックを実装。 - 各ニュースのリンク先をDBから取得したnews.urlに設定。 - news.yml: - fetchタスクによって更新された最新のニュースデータを含む。
|
Claude finished @nacchan99's task —— View job I'll analyze this and get back to you. |
|
@claude Can you suggest additional tests we should add for this PR, in Japanese? |
|
Claude finished @nacchan99's task —— View job 追加テストの提案分析Todo List:
📋 現在のテストカバレッジ状況✅ 実装済みのテスト
❌ 未実装のテスト
🧪 追加すべきテスト一覧1. モデルテスト強化 (
|
- インデントを2スペースに統一 - validatesの値部分を縦に揃えて可読性を向上
- if/else/endの位置を揃えて可読性を向上 - feed_urls配列の末尾カンマを削除し、コメント位置も整理
- 「既存データをハッシュに変換」コメントのインデントを修正 - File.open内のformatted_items生成部分のインデントを整理
|
細部まで丁寧にレビューしていただき、ありがとうございます🙌 追加すべきテストや改善ポイントをまとめた新しい Issue を作成したので、お手隙の際にご確認いただけると嬉しいです🙏 |
rakuda-san-desu
left a comment
There was a problem hiding this comment.
纏めてになりますが、対応ありがとうございました!
以下を確認しました!良さそうです🙆♀️
- コメント部分の対応が完了もしくはissue化
- 最新のコードで動作確認
- Claude のレビューでも良さそう
#1704 (comment)この修正により、本PRはセキュリティ面での懸念が解消され、マージ可能な状態に達しました! 🚀
|
お忙しい中、丁寧にご確認いただきありがとうございます!🙌✨ その後は、新しいブランチで #1716 の対応を進める予定です。 |



Fixes #1577
この PR でやりたいこと
手作業で更新しているニュース一覧を 、RSS から自動取得して YAML 化し、CI/Actions で定期更新できるようにする
この PR でやること
1. 以下の RSS フィードをチェックするタスクを lib/tasks/fetch_news.rake に実装
https://coderdojo.jp/#news(実際にはhttps://coderdojo.jp/feedなど)lib/tasks配下に新規ファイルを作成2. RSS から記事タイトル/公開日/URL を抽出し YAML に追記・更新
db/news.ymluniq3. 上記タスクを GitHub Actions で毎朝 9:00 JST に実行
cron: '0 0 * * *'(UTC0 = JST9:00)db/news.ymlを自動コミット4. 別途、CI(例: Heroku リリーススクリプト)で YAML から DB に保存
script/release.shにbundle exec rails news:import_from_yamlを追記動作確認手順
1. ニュースYAMLを空にリセット
➡︎
db/news.ymlが空の配列になります(必要ならDBのニュースも削除)
➡︎この時点で
http://localhost:3000/#newsを開くと何も表示されません2. RSSを取得してYAMLを更新
bundle exec rails news:fetch➡︎
db/news.ymlに最新のニュースデータが書き込まれます3. YAMLをデータベースに取り込む
bundle exec rails news:import_from_yaml➡︎DB にニュースレコードが登録されます
4. ブラウザで動作確認
http://localhost:3000/#newsを開くテスト環境でのRSS取得確認(←この確認作業が必要かどうか検討中です🙌)
期待する結果:サンプルRSSから3件のニュースが取得される
なお、GitHub Actions や Heroku でのログ確認については、まだ十分に理解できていないため、今回の動作確認手順には含めておりません🙏
この PR でやらないこと
/blogsで表示(拡張案)