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