Skip to content

Commit afd8cee

Browse files
committed
Refactor: Rename vars and remove needless codes in Stats
1 parent 408182b commit afd8cee

File tree

2 files changed

+36
-34
lines changed

2 files changed

+36
-34
lines changed

app/controllers/stats_controller.rb

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,34 @@ def show
1212
@annual_event_histories_chart = stats.annual_event_histories_chart
1313
@annual_participants_chart = stats.annual_participants_chart
1414

15-
# 推移テーブル
16-
@dojos = stats.annual_sum_total_of_aggregatable_dojo
17-
@events = stats.annual_count_of_event_histories
18-
@participants = stats.annual_sum_of_participants
19-
2015
# 最新データ
21-
# TODO: 次の静的なDojoの開催数もデータベース上で集計できるようにする
22-
# https://github.com/coderdojo-japan/coderdojo.jp/issues/190
23-
@dojo_count = Dojo.active_dojos_count
16+
@sum_of_dojos = Dojo.active_dojos_count
2417
@sum_of_events = EventHistory.count
25-
@sum_of_dojos = DojoEventService.count('DISTINCT dojo_id')
2618
@sum_of_participants = EventHistory.sum(:participants)
19+
# TODO: 静的なDojoの開催数もデータベース上で集計できるようにする
20+
# https://github.com/coderdojo-japan/coderdojo.jp/issues/190
21+
22+
# 集計方法と集計対象
23+
@aggregated_dojos = DojoEventService.count('DISTINCT dojo_id')
24+
@annual_dojos_table = stats.annual_sum_total_of_aggregatable_dojo
2725

2826
# 日本各地の道場
29-
@regions_and_dojos = Dojo.group_by_region_on_active
27+
@regions_and_dojos = Dojo.group_by_region_on_active
3028
end
3129
end
30+
31+
# NOTE: テーブル表示したいときは次のように書く
32+
# @annual_dojos_table = stats.annual_sum_total_of_aggregatable_dojo
33+
# @annual_events_table = stats.annual_count_of_event_histories
34+
# @annual_participants_table = stats.annual_sum_of_participants
35+
# %tr
36+
# %td 開催数
37+
# - @events.each_value do |num|
38+
# %td= num
39+
# /%td= @events.values.sum
40+
# %tr
41+
# %td 参加数
42+
# - @participants.each_value do |num|
43+
# %td= num
44+
# /%td= @participants.values.sum
45+

app/views/stats/show.html.haml

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -35,49 +35,37 @@
3535
%tbody{style: 'text-align: center;'}
3636
%tr
3737
%td
38-
%td= @dojo_count
38+
%td= @sum_of_dojos
3939
%td= @sum_of_events
4040
%td= @sum_of_participants
4141
4242
%h3{style: "margin-top: 80px;"} ✅ 集計方法と集計対象について
4343
%ul{style: 'list-style: none; margin-left: -10px;'}
44-
%li 参加者数はユニーク数ではなく延べ数です
45-
%li APIで自動的に集計できるDojoが集計対象
46-
%li 最新の開発状況は末尾の関連リンクを参照
44+
%li 参加者数はユニーク数ではなく延べ数です。
45+
%li 集計対象は API などで集計可能な道場です。
4746
48-
%div{style: 'margin-top: 20px;'}
47+
%div{style: 'margin-top: 10px;'}
4948
毎週月曜朝10時に集計をしています。
5049
%br
5150
集計対象の道場数は次のとおりです。
5251
%div{style: 'margin-top: 10px;'}
53-
%b= @sum_of_dojos
54-
%b / #{@dojo_count} Dojos
52+
%b= @aggregated_dojos
53+
%b / #{@sum_of_dojos} Dojos
5554
5655
%div{align: 'center', id: 'transition-table', style: 'margin-top: 30px;'}
57-
集計対象の Dojo 数の推移
56+
%b 集計対象となっている道場数の推移
5857
%table{style: 'margin-top: 4px;'}
5958
%thead
6059
%tr
6160
%th
62-
- @dojos.keys.each do |year|
63-
%th{style: 'padding: 0 5px;'} #{year}
64-
/%th{style: 'padding: 0 5px; text-align: center;'} 合計
61+
- @annual_dojos_table.keys.each do |year|
62+
%th{style: 'padding: 3px 5px; font-weight: normal;'} #{year}
6563
%tbody{style: 'text-align: center;'}
6664
%tr
6765
%td 道場数
68-
- @dojos.each_value do |num|
69-
%td= num
70-
/%td= @dojos.values.last
71-
/%tr
72-
/ %td 開催数
73-
/ - @events.each_value do |num|
74-
/ %td= num
75-
/ /%td= @events.values.sum
76-
/%tr
77-
/ %td 参加数
78-
/ - @participants.each_value do |num|
79-
/ %td= num
80-
/ /%td= @participants.values.sum
66+
- @annual_dojos_table.each_value do |num|
67+
%td
68+
%b= num
8169
8270
8371
%h3{style: "margin-top: 80px;"} ☯️ 日本各地の道場

0 commit comments

Comments
 (0)