Skip to content

Commit 0918d38

Browse files
committed
Refactor: デフォルト値を活用して if 文の二段ネストを一段にした
1 parent 4f44e4d commit 0918d38

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

app/controllers/events_controller.rb

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

app/views/events/latest.html.erb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
</span>
8484
<% else %>
8585
<!-- 別サービスでイベント管理している Dojo で、"Active" マークが無い場合はハイライトする -->
86-
<!-- 別サービスでイベント管理している Dojo の場合、note にある日付とリンクで分岐処理する -->
86+
<!-- 別サービスでイベント管理している Dojo なら、note にある日付とリンクがあれば表示する -->
8787
<span class=<%= 'expired' if dojo[:event_at] <= Time.current.prev_year && !dojo[:note].include?('Active') %>>
8888
<%= link_to dojo[:event_at], dojo[:event_url] %>
8989
</span>
@@ -92,7 +92,7 @@
9292
</td>
9393
<td class="url-cell">
9494
<small>
95-
<span title="<%= dojo[:note] %>"><%= raw Rinku.auto_link(dojo[:note]) %></span>
95+
<span title="<%= dojo[:note] %>"><%= raw Addressable::URI.unescape(Rinku.auto_link(dojo[:note])) %></span>
9696
</small>
9797
</td>
9898
</tr>

0 commit comments

Comments
 (0)