|  | require 'builder'
module DHE
  class SvgFile
    attr_reader :has_text, :path, :content
    def initialize(path:, width:, height:, has_text: false, **options)
      @path = path.sub_ext('.svg')
      @has_text = has_text
      @content = Builder::XmlMarkup.new(indent: 2).svg(version: "1.1", xmlns: "http://www.w3.org/2000/svg", width: width, height: height, **options) {|svg| yield(svg)}
    end
    def write(dir)
      file_path = dir / path
      file_path.parent.mkpath
      file_path.open('w') {|file| file.write @content}
    end
  end
end
 |