class DatashiftJourney::BackLink
Attributes
css[R]
current_request[R]
engine_routes[R]
journey_plan[R]
Public Class Methods
new(request, engine_routes:, journey_plan: nil, css: nil)
click to toggle source
# File lib/datashift_journey/helpers/back_link.rb, line 12 def initialize(request, engine_routes:, journey_plan: nil, css: nil) @current_request = request @engine_routes = engine_routes @journey_plan = journey_plan @css = css end
Public Instance Methods
tag(text = nil, html_opts = {})
click to toggle source
# File lib/datashift_journey/helpers/back_link.rb, line 19 def tag(text = nil, html_opts = {}) if journey_plan && (journey_plan.can_back?) title, url = link_arguments(text) link_to title, url, html_opts.merge(class: css || 'journey-plan-back-link') end end
Private Instance Methods
journey_plan_back_url()
click to toggle source
# File lib/datashift_journey/helpers/back_link.rb, line 49 def journey_plan_back_url engine_routes.back_a_state_url(journey_plan) end
journey_plan_reviewing_path()
click to toggle source
# File lib/datashift_journey/helpers/back_link.rb, line 53 def journey_plan_reviewing_path engine_routes.journey_plan_state_path('reviewing', journey_plan) end
link_arguments(text = nil)
click to toggle source
# File lib/datashift_journey/helpers/back_link.rb, line 28 def link_arguments(text = nil) [text || link_text, link_url] end
link_text()
click to toggle source
# File lib/datashift_journey/helpers/back_link.rb, line 32 def link_text I18n.t(journey_plan ? 'global.back' : 'global.back_to_start_link') end
link_url()
click to toggle source
# File lib/datashift_journey/helpers/back_link.rb, line 36 def link_url # TODO: Implement automatic reviewable # return journey_plan_reviewing_path if journey_plan.try! :under_review? return start_url unless journey_plan journey_plan_back_url end
start_url()
click to toggle source
# File lib/datashift_journey/helpers/back_link.rb, line 45 def start_url DatashiftJourney::Configuration.call.backto_start_url end