Sha256: 11d770a1b3fec3e394b39c7e095419307b5b2bb587555ee939656c96b64ab978

Contents?: true

Size: 777 Bytes

Versions: 2

Compression:

Stored size: 777 Bytes

Contents

# frozen_string_literal: true

class FoxTail::HrComponent < FoxTail::BaseComponent

  has_option :size, default: :base
  has_option :shape, default: :none
  has_option :trimmed, default: false, type: :boolean

  def shape?
    shape != :none
  end

  def call
    content_tag :div, class: wrapper_classes do
      if content? && shape == :none
        concat tag(:hr, class: hr_classes)
        concat content_tag(:div, content, class: content_classes)
        concat tag(:hr, class: hr_classes)
      else
        tag :hr, class: hr_classes
      end
    end
  end

  private

  def wrapper_classes
    classnames theme.apply(:wrapper, self), html_class
  end

  def hr_classes
    theme.apply :root, self
  end

  def content_classes
    theme.apply :content, self
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fox_tail-0.1.1 app/components/fox_tail/hr_component.rb
fox_tail-0.1.0 app/components/fox_tail/hr_component.rb