Module: Ariadne::IconHelper

Includes:
FetchOrFallbackHelper
Included in:
ButtonComponent, FlashComponent, HeroiconComponent
Defined in:
app/lib/ariadne/icon_helper.rb

Overview

:nodoc:

Constant Summary

Constants included from FetchOrFallbackHelper

FetchOrFallbackHelper::InvalidValueError, FetchOrFallbackHelper::TRUE_OR_FALSE

Instance Method Summary collapse

Methods included from FetchOrFallbackHelper

#check_incoming_attribute, #check_incoming_tag, #check_incoming_value, #fetch_or_raise, #fetch_or_raise_boolean

Methods included from LoggerHelper

#logger, #silence_deprecations?, #silence_warnings?

Instance Method Details

#check_icon_presence!(icon, variant) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'app/lib/ariadne/icon_helper.rb', line 21

def check_icon_presence!(icon, variant)
  return true unless has_partial_icon?(icon, variant)

  icon_presence!(icon, variant)
  variant_presence!(icon, variant)
  fetch_or_raise(HeroiconsHelper::Icon::VARIANTS, variant)

  true
end

#has_partial_icon?(icon, variant) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# File 'app/lib/ariadne/icon_helper.rb', line 31

def has_partial_icon?(icon, variant)
  icon.present? || variant.present?
end

#icon_presence!(icon, variant) ⇒ Object

Raises:

  • (ArgumentError)


35
36
37
38
39
# File 'app/lib/ariadne/icon_helper.rb', line 35

def icon_presence!(icon, variant)
  raise(ArgumentError, "You must provide an `icon` when providing a `variant`.") if icon.blank? && variant.present?

  true
end

#variant_presence!(icon, variant) ⇒ Object

Raises:

  • (ArgumentError)


41
42
43
44
45
# File 'app/lib/ariadne/icon_helper.rb', line 41

def variant_presence!(icon, variant)
  raise(ArgumentError, "You must provide a `variant` when providing an `icon`.") if icon.present? && variant.blank?

  true
end