Module: Seiten::HTML::Helpers

Defined in:
lib/seiten/html/helpers.rb

Class Method Summary collapse

Class Method Details

.build_classes(element = nil, class_options:, modifier_options: [], modifiers: [], merge: nil) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/seiten/html/helpers.rb', line 14

def self.build_classes(element = nil, class_options:, modifier_options: [], modifiers: [], merge: nil)
  classes = []

  klass = class_options[element || :base]
  classes << klass

  if modifiers.any?
    base = (modifier_options[:base].presence || klass)
    modifiers.each do |modifier|
      classes << "#{base}#{modifier_options[:separator]}#{modifier_options[modifier]}"
    end
  end

  classes << merge if merge
  classes.join(' ')
end

.build_page_modifiers(page, current_page) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/seiten/html/helpers.rb', line 4

def self.build_page_modifiers(page, current_page)
  modifiers = []
  modifiers << :parent if page.children?
  if page.active?(current_page)
    modifiers << :active
    modifiers << (page == current_page ? :current : :expanded)
  end
  modifiers
end