class LinkDecisionHelper
Constants
- ALLOWED_TYPES
- DEFAULT_TITLE
- DEFAULT_URL
Public Class Methods
clear_type!(type:)
click to toggle source
# File lib/link_decision_helper.rb, line 12 def self.clear_type!(type:) raise "Unexpected type [#{type}]. Expected #{ALLOWED_TYPES}" unless ALLOWED_TYPES.include?(type) Rails.application.config.public_send("#{type}=", []) end
new(title:, url:, type:, display: true, default_type: nil, config: nil, _blank: false)
click to toggle source
# File lib/link_decision_helper.rb, line 17 def initialize(title:, url:, type:, display: true, default_type: nil, config: nil, _blank: false) raise NotOnAllowListError, "Unexpected type [#{type}]. Expected #{ALLOWED_TYPES}" unless ALLOWED_TYPES.include?(type) @config = config @type = type @url = url @title = title @display = display @_blank = _blank if default_type && ALLOWED_TYPES.include?(default_type) assign_default! elsif default_type && !ALLOWED_TYPES.include?(default_type) raise NotOnAllowListError, 'unexpected default value' end end
Public Instance Methods
assign!(index: -1)
click to toggle source
# File lib/link_decision_helper.rb, line 34 def assign!(index: -1) config.public_send(@type).insert(index, self) end
blank?()
click to toggle source
# File lib/link_decision_helper.rb, line 46 def blank? @_blank end
display?(current_user)
click to toggle source
# File lib/link_decision_helper.rb, line 50 def display?(current_user) get_value(@display, current_user) end
title()
click to toggle source
# File lib/link_decision_helper.rb, line 42 def title get_value(@title) end
url()
click to toggle source
# File lib/link_decision_helper.rb, line 38 def url get_value(@url) end
Private Instance Methods
assign_default!()
click to toggle source
# File lib/link_decision_helper.rb, line 60 def assign_default! case @type when NAVBAR_LOGGED_IN @url = DEFAULT_URL @title = DEFAULT_TITLE end end
config()
click to toggle source
# File lib/link_decision_helper.rb, line 68 def config @config ||= Rails.application.config end
get_value(thing, *args)
click to toggle source
# File lib/link_decision_helper.rb, line 56 def get_value(thing, *args) thing.is_a?(Proc) ? thing.call(*args) : thing end