class GovukPublishingComponents::Presenters::SelectHelper
Attributes
option_markup[R]
options[R]
selected_option[R]
Public Class Methods
new(options)
click to toggle source
# File lib/govuk_publishing_components/presenters/select.rb, line 6 def initialize(options) @options = options @option_markup = get_options end
Public Instance Methods
data_tracking?()
click to toggle source
# File lib/govuk_publishing_components/presenters/select.rb, line 11 def data_tracking? @options.any? { |item| item[:data_attributes] && item[:data_attributes][:track_category] && item[:data_attributes][:track_action] } end
Private Instance Methods
get_options()
click to toggle source
# File lib/govuk_publishing_components/presenters/select.rb, line 17 def get_options return if options.nil? options.map do |option| @selected_option = option[:value] if option[:selected] [ option[:text], option[:value], options_data_attribute(option[:data_attributes]), ] end end
options_data_attribute(attributes)
click to toggle source
# File lib/govuk_publishing_components/presenters/select.rb, line 30 def options_data_attribute(attributes) return {} if attributes.nil? attrs = {} attributes.each do |key, value| key_name = "data-#{key.to_s.split('_').join('-')}" attrs[key_name] = value.is_a?(Hash) ? value.to_json : value end attrs end