Class: DesignSystem::Generic::Builders::List

Inherits:
Base
  • Object
show all
Defined in:
lib/design_system/generic/builders/list.rb

Overview

Generic list builder.

Instance Method Summary collapse

Methods inherited from Base

#initialize

Methods included from Helpers::CssHelper

#css_class_options_merge

Methods included from Concerns::BrandDerivable

#brand

Constructor Details

This class inherits a constructor from DesignSystem::Generic::Builders::Base

Instance Method Details

#render_list(type: :default, **options) {|@list| ... } ⇒ Object

type: :bullet, :number

Yields:

  • (@list)

Raises:

  • (ArgumentError)


9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/design_system/generic/builders/list.rb', line 9

def render_list(type: :default, **options)
  raise ArgumentError, 'block required' unless block_given?

  @list = ::DesignSystem::Components::List.new
  yield @list

  tag_name = type.to_sym == :number ? :ol : :ul

  classes = ["#{brand}-list"]
  classes << "#{brand}-list--bullet" if type == :bullet
  classes << "#{brand}-list--number" if type == :number

  options = css_class_options_merge(options, classes)

  (tag_name, **options) do
    render_items
  end
end