@@ -68,7 +68,7 @@ def destroy
6868 end
6969 end
7070
71- def position # rubocop:todo Metrics/AbcSize, Metrics/MethodLength
71+ def position # rubocop:todo Metrics/AbcSize, Metrics/MethodLength, Metrics/PerceivedComplexity
7272 # Reordering affects the checklist as a whole; require permission to update the parent
7373 authorize @checklist , :update?
7474
@@ -100,25 +100,27 @@ def position # rubocop:todo Metrics/AbcSize, Metrics/MethodLength
100100 streams << turbo_stream . remove ( helpers . dom_id ( a ) )
101101
102102 # If direction is up, insert before sibling; if down, insert after sibling
103- if direction == 'up'
104- streams << turbo_stream . before ( helpers . dom_id ( b ) ,
105- partial : 'better_together/checklist_items/checklist_item' , locals : { checklist_item : a , checklist : @checklist , moved : true } )
106- else
107- streams << turbo_stream . after ( helpers . dom_id ( b ) ,
108- partial : 'better_together/checklist_items/checklist_item' , locals : { checklist_item : a , checklist : @checklist , moved : true } )
109- end
103+ streams << if direction == 'up'
104+ turbo_stream . before ( helpers . dom_id ( b ) ,
105+ partial : 'better_together/checklist_items/checklist_item' ,
106+ locals : { checklist_item : a , checklist : @checklist , moved : true } )
107+ else
108+ turbo_stream . after ( helpers . dom_id ( b ) ,
109+ partial : 'better_together/checklist_items/checklist_item' ,
110+ locals : { checklist_item : a , checklist : @checklist , moved : true } )
111+ end
110112
111113 render turbo_stream : streams
112114 rescue StandardError
113115 # Fallback: update only the inner list contents
114- render turbo_stream : turbo_stream . update ( " #{ helpers . dom_id ( @checklist , :checklist_items ) } " ,
116+ render turbo_stream : turbo_stream . update ( helpers . dom_id ( @checklist , :checklist_items ) . to_s ,
115117 partial : 'better_together/checklist_items/list_contents' ,
116118 locals : { checklist : @checklist } )
117119 end
118120 end
119121 end
120122
121- def reorder # rubocop:todo Metrics/AbcSize, Metrics/MethodLength
123+ def reorder # rubocop:todo Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
122124 # Reordering affects the checklist as a whole; require permission to update the parent
123125 authorize @checklist , :update?
124126
@@ -139,9 +141,9 @@ def reorder # rubocop:todo Metrics/AbcSize, Metrics/MethodLength
139141 end
140142 end
141143
142- respond_to do |format |
144+ respond_to do |format | # rubocop:todo Metrics/BlockLength
143145 format . json { head :no_content }
144- format . turbo_stream do
146+ format . turbo_stream do # rubocop:todo Metrics/BlockLength
145147 # Try a minimal DOM update: if exactly one item moved, remove it and insert before/after the neighbor.
146148
147149 ordered = params [ :ordered_ids ] . map ( &:to_i )
@@ -174,23 +176,25 @@ def reorder # rubocop:todo Metrics/AbcSize, Metrics/MethodLength
174176 neighbor = @checklist . checklist_items . find_by ( id : neighbor_id )
175177 if neighbor
176178 streams << turbo_stream . after ( helpers . dom_id ( neighbor ) ,
177- partial : 'better_together/checklist_items/checklist_item' , locals : { checklist_item : moved_item , checklist : @checklist , moved : true } )
179+ partial : 'better_together/checklist_items/checklist_item' ,
180+ locals : { checklist_item : moved_item , checklist : @checklist , moved : true } ) # rubocop:disable Layout/LineLength
178181 render turbo_stream : streams and return
179182 end
180183 end
181184
182185 # If neighbor not found (moved to end), append to the UL
183186 streams << turbo_stream . append ( "#{ helpers . dom_id ( @checklist , :checklist_items ) } ul" ,
184- partial : 'better_together/checklist_items/checklist_item' , locals : { checklist_item : moved_item , checklist : @checklist , moved : true } )
187+ partial : 'better_together/checklist_items/checklist_item' ,
188+ locals : { checklist_item : moved_item , checklist : @checklist , moved : true } )
185189 render turbo_stream : streams and return
186190 end
187191
188192 # Fallback: update inner contents for complex reorders
189- render turbo_stream : turbo_stream . update ( " #{ helpers . dom_id ( @checklist , :checklist_items ) } " ,
193+ render turbo_stream : turbo_stream . update ( helpers . dom_id ( @checklist , :checklist_items ) . to_s ,
190194 partial : 'better_together/checklist_items/list_contents' ,
191195 locals : { checklist : @checklist } )
192196 rescue StandardError
193- render turbo_stream : turbo_stream . update ( " #{ helpers . dom_id ( @checklist , :checklist_items ) } " ,
197+ render turbo_stream : turbo_stream . update ( helpers . dom_id ( @checklist , :checklist_items ) . to_s ,
194198 partial : 'better_together/checklist_items/list_contents' ,
195199 locals : { checklist : @checklist } )
196200 end
@@ -199,7 +203,7 @@ def reorder # rubocop:todo Metrics/AbcSize, Metrics/MethodLength
199203
200204 private
201205
202- def set_checklist
206+ def set_checklist # rubocop:todo Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/MethodLength, Metrics/PerceivedComplexity
203207 key = params [ :checklist_id ] || params [ :id ]
204208
205209 @checklist = nil
0 commit comments