@@ -22,28 +22,29 @@ def latest
2222 # ]
2323 @latest_event_by_dojos = [ ]
2424 Dojo . active . each do |dojo |
25- latest_event = dojo . event_histories . newest . first
26-
2725 link_in_note = dojo . note . match ( URI . regexp )
2826 date_in_note = dojo . note . match ( /(\d {4}-\d {1,2}-\d {1,2})/ ) # YYYY-MM-DD
2927 last_session_link = link_in_note . nil? ? dojo_path ( dojo . id ) : link_in_note . to_s
3028 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
3132 @latest_event_by_dojos << {
3233 id : dojo . id ,
3334 name : dojo . name ,
3435 note : dojo . note ,
3536 url : dojo . url ,
3637 has_event_histories : latest_event . nil? ,
3738
38- # 過去のイベント開催データが無ければ、 note 内にある日付または掲載日を表示
39- event_at : latest_event . nil? ?
39+ # 過去のイベント開催日と note 内の日付を比較し、新しい方の日付を表示
40+ event_at : ( latest_event_at < last_session_date ) ?
4041 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" ) ,
4243
43- # 過去のイベント開催データが無ければ、 note 内にあるリンクまたは個別統計ページを表示
44- event_url : latest_event . nil? ?
44+ # 過去のイベント開催日と note 内の日付を比較し、新しい方のリンクを表示
45+ event_url : ( latest_event_at < last_session_date ) ?
4546 last_session_link :
46- ( latest_event . evented_at < last_session_date ) ? last_session_link : latest_event . event_url
47+ latest_event . event_url
4748 }
4849 end
4950
0 commit comments