File tree 2 files changed +26
-1
lines changed
2 files changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -6,7 +6,10 @@ def index
6
6
7
7
respond_to do |format |
8
8
format . html
9
- format . json { render json : @upcoming_events }
9
+ format . json {
10
+ # DojoMap: https://map.coderdojo.jp
11
+ render json : UpcomingEvent . for_dojo_map
12
+ }
10
13
end
11
14
end
12
15
end
Original file line number Diff line number Diff line change @@ -34,6 +34,28 @@ def group_by_keyword(keyword)
34
34
merge ( Dojo . default_order ) .
35
35
where ( 'event_title like(?)' , "%#{ keyword } %" )
36
36
end
37
+
38
+ def for_dojo_map
39
+ result = [ ]
40
+ list_of_dojo_and_events = eager_load ( dojo_event_service : :dojo )
41
+ . since ( Time . zone . today )
42
+ . merge ( Dojo . default_order )
43
+ . group_by { |event | event . dojo_event_service . dojo }
44
+
45
+ list_of_dojo_and_events . each do |dojo , events |
46
+ event = events . sort_by ( &:event_at ) . first
47
+ result << {
48
+ id : dojo . id ,
49
+ name : dojo . name ,
50
+ url : dojo . url ,
51
+ event_title : event [ :event_title ] ,
52
+ event_date : event [ :event_at ] ,
53
+ event_url : event [ :event_url ] ,
54
+ }
55
+ end
56
+
57
+ result
58
+ end
37
59
end
38
60
39
61
def catalog
You can’t perform that action at this time.
0 commit comments