class SvgThang::ErbConverter
Attributes
default_classes[R]
logger[R]
prefix[R]
Public Class Methods
new(default_classes: "", prefix: "")
click to toggle source
# File lib/svgthang/erb_converter.rb, line 9 def initialize(default_classes: "", prefix: "") @default_classes = default_classes @prefix = prefix @logger = Logger.new(STDOUT) end
Public Instance Methods
convert(source_path, target_path)
click to toggle source
# File lib/svgthang/erb_converter.rb, line 15 def convert(source_path, target_path) contents = File.read(source_path) if !contents.start_with? "<svg" logger.error "#{source_path} doesn't appear to be an SVG file" return end logger.info "Converting #{source_path} to ERB template at #{target_path}" svg_doc = Oga.parse_html(contents) svg_doc.at_css("svg").set( "class", "#{default_classes} <%= defined?(classes) ? classes : nil %>") html = HTMLEntities.new.decode(svg_doc.to_xml) filename = "#{prefix}#{File.basename(target_path, ".svg")}.html.erb" new_target_path = Pathname.new(target_path).parent.join(filename) File.open(new_target_path, "w") do |f| f.write(html) end end