class Bootstrap::ViewHelpers::Components::Accordion

Public Instance Methods

group(title, options = {}, &block) click to toggle source
# File lib/bootstrap/view_helpers/components/accordion.rb, line 16
def group(title, options = {}, &block)
  options[:title] = title
  options[:body] = true
  options[:parent] = accordion_id
  Card.new(view, options, &block).to_html
end
to_html() click to toggle source
# File lib/bootstrap/view_helpers/components/accordion.rb, line 10
def to_html
  content_tag(:div, options.merge({ id: accordion_id })) do
    block.call(self)
  end
end

Protected Instance Methods

accordion_id() click to toggle source
# File lib/bootstrap/view_helpers/components/accordion.rb, line 25
def accordion_id
  @id ||= options[:id] || "accordion_#{random_uid}"
end
assign_and_validate_style() click to toggle source
# File lib/bootstrap/view_helpers/components/accordion.rb, line 33
def assign_and_validate_style
  @style = ContextualClasses::LINK
end
inject_aria_attributes(opts) click to toggle source
# File lib/bootstrap/view_helpers/components/accordion.rb, line 37
def inject_aria_attributes(opts)
  opts[:aria] ||= {}
  opts[:aria][:controls] = ''
  opts[:aria][:expanded] = false
end
random_uid() click to toggle source
# File lib/bootstrap/view_helpers/components/accordion.rb, line 29
def random_uid
  SecureRandom.urlsafe_base64
end