@@ -22,28 +22,29 @@ def latest
22
22
# ]
23
23
@latest_event_by_dojos = [ ]
24
24
Dojo . active . each do |dojo |
25
- latest_event = dojo . event_histories . newest . first
26
-
27
25
link_in_note = dojo . note . match ( URI . regexp )
28
26
date_in_note = dojo . note . match ( /(\d {4}-\d {1,2}-\d {1,2})/ ) # YYYY-MM-DD
29
27
last_session_link = link_in_note . nil? ? dojo_path ( dojo . id ) : link_in_note . to_s
30
28
last_session_date = date_in_note . nil? ? dojo . created_at : Time . zone . parse ( date_in_note . to_s )
29
+
30
+ latest_event = dojo . event_histories . newest . first
31
+ latest_event_at = latest_event . nil? ? Time . zone . parse ( '2000-01-23' ) : latest_event . evented_at
31
32
@latest_event_by_dojos << {
32
33
id : dojo . id ,
33
34
name : dojo . name ,
34
35
note : dojo . note ,
35
36
url : dojo . url ,
36
37
has_event_histories : latest_event . nil? ,
37
38
38
- # 過去のイベント開催データが無ければ、 note 内にある日付または掲載日を表示
39
- event_at : latest_event . nil? ?
39
+ # 過去のイベント開催日と note 内の日付を比較し、新しい方の日付を表示
40
+ event_at : ( latest_event_at < last_session_date ) ?
40
41
last_session_date . strftime ( "%Y-%m-%d" ) :
41
- ( latest_event . evented_at < last_session_date ) ? last_session_date . strftime ( "%Y-%m-%d" ) : latest_event . evented_at . strftime ( "%Y-%m-%d" ) ,
42
+ latest_event . evented_at . strftime ( "%Y-%m-%d" ) ,
42
43
43
- # 過去のイベント開催データが無ければ、 note 内にあるリンクまたは個別統計ページを表示
44
- event_url : latest_event . nil? ?
44
+ # 過去のイベント開催日と note 内の日付を比較し、新しい方のリンクを表示
45
+ event_url : ( latest_event_at < last_session_date ) ?
45
46
last_session_link :
46
- ( latest_event . evented_at < last_session_date ) ? last_session_link : latest_event . event_url
47
+ latest_event . event_url
47
48
}
48
49
end
49
50
0 commit comments