class Lookbook::UI::Icon
def icon_path
def icon_path Lookbook::Engine.root.join("public/lookbook-assets/icons/#{name}.svg") end
def initialize(name:, stroke: 2, **kwargs)
def initialize(name:, stroke: 2, **kwargs) @name = name.to_s.tr("_", "-") @stroke = stroke end
def read_svg
def read_svg if File.exist?(icon_path) File.read(icon_path).html_safe elsif Lookbook.env.development? || Lookbook.env.test? raise "`#{name}` is not a valid icon name" end end
def svg
def svg ICON_CACHE[name] ||= read_svg end