diff --git a/README.md b/README.md index 717248660..8d3c0122a 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ coderdojo.jp の開発には以下のいずれかの方法で参加できます Dojo 情報は次の手順で簡単に更新できます。 -1. [db/dojos.yaml](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojos.yaml) を開く +1. [db/dojos.yml](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojos.yml) を開く 2. 画面右にある ✎ アイコン (Fork this project and edit this file) をクリックする 3. 気になる箇所を修正し、修正内容にタイトルと説明文を付け、Propose file change をクリックする 4. 修正内容を確認し、問題なければ Create pull request をクリックする @@ -157,10 +157,10 @@ bundle exec rails db:migrate # 開発用データの流し込み(seeding) bundle exec rails db:seed -# db/dojos.yaml の内容をDBに反映するタスク +# db/dojos.yml の内容をDBに反映するタスク bundle exec rails dojos:update_db_by_yaml -# DBの内容を db/dojos.yaml に反映するタスク +# DBの内容を db/dojos.yml に反映するタスク bundle exec rails dojos:migrate_adding_id_to_yaml # 近日開催の道場を更新するタスク @@ -242,8 +242,8 @@ We use `SCRIVITO_TENANT` and `SCRIVITO_API_KEY` keys in production, but they are なお本サイト内 DB の各テーブルおよびそのデータ(一般公開部分のみ)は、以下のファイルからご確認いただけます。 - DB テーブル: [`db/schema.rb`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/schema.rb) -- Dojo データ: [`db/dojos.yaml`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojo_event_services.yaml) -- Event データ (の情報取得元): [`db/dojo_event_services.yaml`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojo_event_services.yaml) +- Dojo データ: [`db/dojos.yml`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojos.yml) +- Event データ (の情報取得元): [`db/dojo_event_services.yml`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojo_event_services.yml) - :memo: 1つの Dojo が複数のイベント管理サービスを使う事例もあるため [`Dojo has_many DojoEventServices`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/app/models/dojo.rb) となっています。 diff --git a/app/models/dojo.rb b/app/models/dojo.rb index 6f682df67..2bc580417 100644 --- a/app/models/dojo.rb +++ b/app/models/dojo.rb @@ -4,7 +4,7 @@ class Dojo < ApplicationRecord NUM_OF_ANNUAL_NINJAS = "7,000" NUM_OF_TOTAL_EVENTS = "10,000" NUM_OF_TOTAL_NINJAS = "62,000" - DOJO_INFO_YAML_PATH = Rails.root.join('db', 'dojos.yaml') + DOJO_INFO_YAML_PATH = Rails.root.join('db', 'dojos.yml') belongs_to :prefecture has_many :dojo_event_services, dependent: :destroy diff --git a/db/dojo_event_services.yaml b/db/dojo_event_services.yml similarity index 99% rename from db/dojo_event_services.yaml rename to db/dojo_event_services.yml index 1e3e2e2c1..ef709498d 100644 --- a/db/dojo_event_services.yaml +++ b/db/dojo_event_services.yml @@ -19,13 +19,13 @@ # 現在は connpass と doorkeeper のみ対応しています。 # # Facebook イベントなどを含む非対応のイベント情報については、 -# `db/static_event_histories.yaml` から手動でデータ入力が可能です。 -# https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/static_event_histories.yaml +# `db/static_event_histories.yml` から手動でデータ入力が可能です。 +# https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/static_event_histories.yml ### 以下、Dojo 情報まとめ ### -### (dojos.yaml の追加順) ### +### (dojos.yml の追加順) ### # 播磨科学公園都市(兵庫県上郡町) #- dojo_id: 343 @@ -34,7 +34,7 @@ # url: https://codeclub.org/ja/clubs/1700a138-2909-4e4e-9e75-88ebcbbbc55a # 砧(東京都世田谷区)- connpass の個人アカウントのため登録できない。グループアカウントにする必要がある。 -# TODO: グループ化されたら dojos.yamlのurlも合わせて更新 +# TODO: グループ化されたら dojos.ymlのurlも合わせて更新 #- dojo_id: 342 # name: connpass # group_id: ??? diff --git a/db/dojos.yaml b/db/dojos.yml similarity index 100% rename from db/dojos.yaml rename to db/dojos.yml diff --git a/db/facebook_event_histories.yaml b/db/facebook_event_histories.yml similarity index 99% rename from db/facebook_event_histories.yaml rename to db/facebook_event_histories.yml index 4e965b325..81adde63c 100644 --- a/db/facebook_event_histories.yaml +++ b/db/facebook_event_histories.yml @@ -3,8 +3,8 @@ ########################## # # This is outdated and will be removed. -# Use `db/static_event_histories.yaml` instead: -# https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/static_event_histories.yaml +# Use `db/static_event_histories.yml` instead: +# https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/static_event_histories.yml # # example # - dojo_id: 80 diff --git a/db/static_event_histories.yaml b/db/static_event_histories.yml similarity index 100% rename from db/static_event_histories.yaml rename to db/static_event_histories.yml diff --git a/doc/how_to_add_dojo.md b/doc/how_to_add_dojo.md index f5ee85d6b..899d922fc 100644 --- a/doc/how_to_add_dojo.md +++ b/doc/how_to_add_dojo.md @@ -16,10 +16,10 @@ 1. 掲載依頼の申請内容を確認する 2. 総務省の[全国地方公共団体コード](https://www.soumu.go.jp/denshijiti/code.html)ページに行く 3. 最新版の PDF にアクセスし、申請内容と一致する全国地方公共団体コードを確認する -4. `db/dojos.yaml` ファイルを開き、全国地方公共団体コードの近い値(隣接する Dojo)のデータを見つける +4. `db/dojos.yml` ファイルを開き、全国地方公共団体コードの近い値(隣接する Dojo)のデータを見つける 5. 同じ全国地方公共団体コードがあれば同コードの直後に、初のコードであれば `order` の昇順で適した場所を探す -6. 下記「[データの読み方](#データの読み方申請内容と対応例)」を参考に、申請内容から新しい Dojo データを [`db/dojos.yaml`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojos.yaml) に追加する -7. 下記「[統計システムへの追加](#統計システムへの追加)」を参考に、イベント管理サービスを [`db/dojo_event_services.yaml`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojo_event_services.yaml) に追加する +6. 下記「[データの読み方](#データの読み方申請内容と対応例)」を参考に、申請内容から新しい Dojo データを [`db/dojos.yml`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojos.yml) に追加する +7. 下記「[統計システムへの追加](#統計システムへの追加)」を参考に、イベント管理サービスを [`db/dojo_event_services.yml`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojo_event_services.yml) に追加する 8. 上記の作業結果をコミットし、Pull Request (PR) を送る [» これまでの対応例 (PR) を見る](https://github.com/coderdojo-japan/coderdojo.jp/pulls?q=is:pr+"Add+CoderDojo") @@ -42,7 +42,7 @@ Web: https://coderdojo-naha.doorkeeper.jp/ Zen: https://zen.coderdojo.com/dojos/jp/okinawa-ken/okinawa-okinawa-prefecture/naha ``` -上記のような申請を受け取ったら `db/dojos.yaml` に次のように追記します。 +上記のような申請を受け取ったら `db/dojos.yml` に次のように追記します。 (order 順に追加すると見やすくてベターです) @@ -125,7 +125,7 @@ https://coderdojo.jp/stats 集計は手作業でなく、イベントページのAPIを利用し自動化して行っています。 このため、新規 Dojo を追加する際は、集計対象にも追加をお願いします。 -集計対象は [`db/dojo_event_services.yaml`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojo_event_services.yaml) で管理しています。以下のように追記してください。 +集計対象は [`db/dojo_event_services.yml`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojo_event_services.yml) で管理しています。以下のように追記してください。 ```yaml # 田町@VMware @@ -172,7 +172,7 @@ https://coderdojo.jp/stats ## 本番環境への反映方法 -dojos.yaml, dojo_event_services.yaml の更新を GitHub に push すると、次の手順で本番環境に反映されます。 +dojos.yml, dojo_event_services.yml の更新を GitHub に push すると、次の手順で本番環境に反映されます。 1. GitHub の更新を [GitHub Actions](https://github.com/coderdojo-japan/coderdojo.jp/actions) が検知します 1. [GitHub Actions](https://github.com/coderdojo-japan/coderdojo.jp/actions) で各種テストが実行されます diff --git a/doc/how_to_aggregate_stats_and_events.md b/doc/how_to_aggregate_stats_and_events.md index 456af9ef7..d410f7b80 100644 --- a/doc/how_to_aggregate_stats_and_events.md +++ b/doc/how_to_aggregate_stats_and_events.md @@ -49,7 +49,7 @@ bundle exec rails statistics:aggregation[201801,201910,connpass,xxx] bundle exec rails statistics:aggregation[201801,201910,,xxx] ``` -[`db/static_event_histories.yaml`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/static_event_histories.yaml) にある YAML データを更新する +[`db/static_event_histories.yml`](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/static_event_histories.yml) にある YAML データを更新する ``` # 全ての期間を更新する (Zshの場合) diff --git a/doc/plan_inactivated_at_column.md b/doc/plan_inactivated_at_column.md index b561d8306..e386d49cd 100644 --- a/doc/plan_inactivated_at_column.md +++ b/doc/plan_inactivated_at_column.md @@ -163,7 +163,7 @@ end #### 重要: YAMLファイルがマスターデータ -**db/dojos.yaml がマスターレコードであることに注意**: +**db/dojos.yml がマスターレコードであることに注意**: - データベースの変更だけでは不十分 - `rails dojos:update_db_by_yaml` 実行時にYAMLの内容でDBが上書きされる - 永続化にはYAMLファイルへの反映が必須 @@ -184,7 +184,7 @@ desc 'Git履歴からinactivated_at日付を抽出してYAMLファイルに反 task extract_inactivated_at_from_git: :environment do require 'git' - yaml_path = Rails.root.join('db', 'dojos.yaml') + yaml_path = Rails.root.join('db', 'dojos.yml') git = Git.open(Rails.root) # YAMLファイルの内容を行番号付きで読み込む @@ -266,7 +266,7 @@ task extract_inactivated_at_from_git: :environment do puts "Total inactive dojos: #{inactive_dojos.count}" puts "YAML file has been updated with inactivated_at dates" puts "\nNext steps:" - puts "1. Review the changes in db/dojos.yaml" + puts "1. Review the changes in db/dojos.yml" puts "2. Run: rails dojos:update_db_by_yaml" puts "3. Commit the updated YAML file" end @@ -584,10 +584,10 @@ end ```bash # 特定のDojoのis_active履歴を確認 -git log -p --follow db/dojos.yaml | grep -B5 -A5 "id: 104" +git log -p --follow db/dojos.yml | grep -B5 -A5 "id: 104" # YAMLファイルの特定行のblame情報を確認 -git blame db/dojos.yaml -L 17,17 --porcelain +git blame db/dojos.yml -L 17,17 --porcelain # 非アクティブDojoの一覧を取得 rails runner "Dojo.inactive.pluck(:id, :name).each { |id, name| puts \"#{id}: #{name}\" }" @@ -621,8 +621,8 @@ rails runner " TIMESTAMP=$(date +%Y%m%d_%H%M%S) # 1. YAMLファイルのバックアップ -cp db/dojos.yaml db/dojos.yaml.backup.${TIMESTAMP} -echo "✅ YAMLバックアップ完了: db/dojos.yaml.backup.${TIMESTAMP}" +cp db/dojos.yml db/dojos.yml.backup.${TIMESTAMP} +echo "✅ YAMLバックアップ完了: db/dojos.yml.backup.${TIMESTAMP}" # 2. 現在の統計値を記録 rails runner " @@ -655,7 +655,7 @@ require 'git' class GitExtractionValidator def self.run - yaml_path = Rails.root.join('db', 'dojos.yaml') + yaml_path = Rails.root.join('db', 'dojos.yml') git = Git.open(Rails.root) issues = [] @@ -714,7 +714,7 @@ GitExtractionValidator.run # script/apply_inactivated_dates.rb class InactivatedDateApplier def self.run(dry_run: true) - yaml_path = Rails.root.join('db', 'dojos.yaml') + yaml_path = Rails.root.join('db', 'dojos.yml') backup_path = yaml_path.to_s + ".backup.#{Time.now.strftime('%Y%m%d_%H%M%S')}" if dry_run @@ -735,7 +735,7 @@ class InactivatedDateApplier # 変更内容の確認 if dry_run puts "\n📋 変更プレビュー:" - system("git diff --stat db/dojos.yaml") + system("git diff --stat db/dojos.yml") else # YAMLの構文チェック begin diff --git a/lib/event_service/providers/facebook.rb b/lib/event_service/providers/facebook.rb index 1c1efb9e0..265496baa 100644 --- a/lib/event_service/providers/facebook.rb +++ b/lib/event_service/providers/facebook.rb @@ -6,7 +6,7 @@ class Facebook # You can load data from the following YAML file by exec (on Zsh): # # $ bundle exec rails statistics:aggregation\[-,-,facebook\] - YAML_FILE = Rails.root.join('db', 'facebook_event_histories.yaml') + YAML_FILE = Rails.root.join('db', 'facebook_event_histories.yml') def fetch_events(dojo_id: nil, since_at: nil, until_at: nil) dojo_ids = dojo_id if dojo_id.is_a?(Array) diff --git a/lib/event_service/providers/static_yaml.rb b/lib/event_service/providers/static_yaml.rb index 2e920672d..f4d83465e 100644 --- a/lib/event_service/providers/static_yaml.rb +++ b/lib/event_service/providers/static_yaml.rb @@ -1,7 +1,7 @@ module EventService module Providers class StaticYaml - YAML_FILE = Rails.root.join('db', 'static_event_histories.yaml') + YAML_FILE = Rails.root.join('db', 'static_event_histories.yml') def fetch_events YAML.load_file(YAML_FILE) || [] diff --git a/lib/tasks/dojo_event_services.rake b/lib/tasks/dojo_event_services.rake index 1bedc322b..7d83009dd 100644 --- a/lib/tasks/dojo_event_services.rake +++ b/lib/tasks/dojo_event_services.rake @@ -4,7 +4,7 @@ namespace :dojo_event_services do result = { inserted: [], updated: [], deleted: [], kept: [], skipped: [] } reserved_ids = [] - list = YAML.load_file(Rails.root.join('db','dojo_event_services.yaml')) + list = YAML.load_file(Rails.root.join('db','dojo_event_services.yml')) list.each do |des| unless DojoEventService.names.keys.include?(des['name']) event_names = DojoEventService.names.keys.map { |s| "`#{s}`" } diff --git a/lib/tasks/dojos_inactivated_at.rake b/lib/tasks/dojos_inactivated_at.rake index 68c8b5b99..4db01bdf7 100644 --- a/lib/tasks/dojos_inactivated_at.rake +++ b/lib/tasks/dojos_inactivated_at.rake @@ -3,7 +3,7 @@ require 'fileutils' namespace :dojos do desc 'Git履歴からinactivated_at日付を抽出してYAMLファイルに反映(引数でDojo IDを指定可能)' task :extract_inactivated_at_from_git, [:dojo_id] => :environment do |t, args| - yaml_path = Rails.root.join('db', 'dojos.yaml') + yaml_path = Rails.root.join('db', 'dojos.yml') # YAMLファイルの内容を行番号付きで読み込む yaml_lines = File.readlines(yaml_path) @@ -155,7 +155,7 @@ namespace :dojos do if !args[:dojo_id] && updated_count > 0 begin # バックアップを作成(tmpディレクトリに) - backup_path = Rails.root.join('tmp', "dojos.yaml.backup.#{Time.now.strftime('%Y%m%d_%H%M%S')}") + backup_path = Rails.root.join('tmp', "dojos.yml.backup.#{Time.now.strftime('%Y%m%d_%H%M%S')}") FileUtils.cp(yaml_path, backup_path) puts "\n📦 バックアップ作成: #{backup_path}" @@ -169,7 +169,7 @@ namespace :dojos do puts "合計 #{updated_count} 個のDojoに inactivated_at を追加しました" puts "" puts "次のステップ:" - puts "1. db/dojos.yaml の変更内容を確認" + puts "1. db/dojos.yml の変更内容を確認" puts "2. rails dojos:update_db_by_yaml を実行してDBに反映" puts "3. 変更をコミット" rescue => e diff --git a/spec/data/invalid_format_of.yaml b/spec/data/invalid_format_of.yml similarity index 100% rename from spec/data/invalid_format_of.yaml rename to spec/data/invalid_format_of.yml diff --git a/spec/models/dojo_spec.rb b/spec/models/dojo_spec.rb index b2ff4bbe2..3906c589b 100644 --- a/spec/models/dojo_spec.rb +++ b/spec/models/dojo_spec.rb @@ -61,7 +61,7 @@ it 'should raise Psych::SyntaxError' do orig_yaml = Dojo::DOJO_INFO_YAML_PATH Dojo.send(:remove_const, :DOJO_INFO_YAML_PATH) - Dojo::DOJO_INFO_YAML_PATH = Rails.root.join('spec', 'data', 'invalid_format_of.yaml') + Dojo::DOJO_INFO_YAML_PATH = Rails.root.join('spec', 'data', 'invalid_format_of.yml') expect{ Dojo.load_attributes_from_yaml }.to raise_error(Psych::SyntaxError)