Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 をクリックする
Expand Down Expand Up @@ -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

# 近日開催の道場を更新するタスク
Expand Down Expand Up @@ -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) となっています。


Expand Down
2 changes: 1 addition & 1 deletion app/models/dojo.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions db/dojo_event_services.yaml → db/dojo_event_services.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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: ???
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
File renamed without changes.
12 changes: 6 additions & 6 deletions doc/how_to_add_dojo.md
Original file line number Diff line number Diff line change
Expand Up @@ -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) を送る

[&raquo; これまでの対応例 (PR) を見る](https://github.com/coderdojo-japan/coderdojo.jp/pulls?q=is:pr+"Add+CoderDojo")
Expand All @@ -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 順に追加すると見やすくてベターです)


Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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) で各種テストが実行されます
Expand Down
2 changes: 1 addition & 1 deletion doc/how_to_aggregate_stats_and_events.md
Original file line number Diff line number Diff line change
Expand Up @@ -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の場合)
Expand Down
20 changes: 10 additions & 10 deletions doc/plan_inactivated_at_column.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ end

#### 重要: YAMLファイルがマスターデータ

**db/dojos.yaml がマスターレコードであることに注意**:
**db/dojos.yml がマスターレコードであることに注意**:
- データベースの変更だけでは不十分
- `rails dojos:update_db_by_yaml` 実行時にYAMLの内容でDBが上書きされる
- 永続化にはYAMLファイルへの反映が必須
Expand All @@ -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ファイルの内容を行番号付きで読み込む
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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}\" }"
Expand Down Expand Up @@ -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 "
Expand Down Expand Up @@ -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 = []
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion lib/event_service/providers/facebook.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion lib/event_service/providers/static_yaml.rb
Original file line number Diff line number Diff line change
@@ -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) || []
Expand Down
2 changes: 1 addition & 1 deletion lib/tasks/dojo_event_services.rake
Original file line number Diff line number Diff line change
Expand Up @@ -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}`" }
Expand Down
6 changes: 3 additions & 3 deletions lib/tasks/dojos_inactivated_at.rake
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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}"

Expand All @@ -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
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion spec/models/dojo_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down