module Seiten::HTML::Helpers
Public Class Methods
build_classes(element = nil, class_options:, modifier_options: [], modifiers: [], merge: nil)
click to toggle source
# 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)
click to toggle source
# 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