module ActionSegue::SegueRegistration
Public Instance Methods
clear_segue(id)
click to toggle source
Remove a segue from the stack
# File lib/action_segue/segue_registration.rb, line 29 def clear_segue(id) Rails.logger.debug "[ActionSegue] clearing segue '#{id}'" session[:action_segues].delete id end
complete_current_segue_url(fallback:)
click to toggle source
Completes the last segue, regardless of what it was
# File lib/action_segue/segue_registration.rb, line 35 def complete_current_segue_url(fallback:) complete_segue_url session[:action_segues].try(:keys).try(:last), fallback: fallback end
complete_segue_url(id, fallback:)
click to toggle source
Completes the segue and returns either the params to redirect to the segue start point, all the fallback if the segue is not in progress.
# File lib/action_segue/segue_registration.rb, line 17 def complete_segue_url(id, fallback:) if session[:action_segues].present? && session[:action_segues][id].present? segue = clear_segue id Rails.logger.debug "[ActionSegue] completed '#{id}'" url_for segue.params else Rails.logger.debug "[ActionSegue] no segue matched '#{id}'" fallback end end