@@ -6,14 +6,7 @@ def index(list_name: nil, yyyymm: nil, q: nil, page: nil)
66 if list_name
77 @list = List . find_by_name list_name
88
9- @yyyymms = Message . where ( list_id : @list ) . order ( 'yyyymm' ) . pluck ( Arel . sql "distinct to_char(published_at, 'YYYYMM') as yyyymm" )
10- @yyyymm = yyyymm || @yyyymms . last
11-
12- root_query = Message . where ( list_id : @list , parent_id : nil ) . where ( "to_char(published_at, 'YYYYMM') = ?" , @yyyymm ) . order ( :id )
13- messages = Message . with_recursive ( parent_and_children : [ root_query , Message . joins ( 'inner join parent_and_children on messages.parent_id = parent_and_children.id' ) ] )
14- . joins ( 'inner join parent_and_children on parent_and_children.id = messages.id' )
15-
16- @messages = compose_tree ( messages )
9+ render_threads yyyymm : yyyymm
1710 elsif q
1811 search q , page
1912
@@ -33,6 +26,19 @@ def show(list_name:, list_seq:)
3326
3427 private
3528
29+ def render_threads ( yyyymm : nil )
30+ @yyyymms = Message . where ( list_id : @list ) . order ( 'yyyymm' ) . pluck ( Arel . sql "distinct to_char(published_at, 'YYYYMM') as yyyymm" )
31+ @yyyymm = yyyymm || @yyyymms . last
32+
33+ root_query = Message . where ( list_id : @list , parent_id : nil ) . where ( "to_char(published_at, 'YYYYMM') = ?" , @yyyymm ) . order ( :id )
34+ messages = Message . with_recursive ( parent_and_children : [ root_query , Message . joins ( 'inner join parent_and_children on messages.parent_id = parent_and_children.id' ) ] )
35+ . joins ( 'inner join parent_and_children on parent_and_children.id = messages.id' )
36+
37+ @messages = compose_tree ( messages )
38+
39+ render :index
40+ end
41+
3642 def get_list_ids ( params )
3743 list_ids = [ ]
3844 [ 'ruby-talk' , 'ruby-core' , 'ruby-list' , 'ruby-dev' ] . each do |name |
0 commit comments