Commit b2baa4e

mo khan <mo@mokhan.ca>
2015-04-08 15:12:38
generate svg shell with nokogiri.
1 parent 44085d6
Changed files (4)
examples/example.svg
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <svg version="1.1" baseProfile="full" width="300" height="200" xmlns="http://www.w3.org/2000/svg">
   <rect width="100%" height="100%" fill="red" />
   <circle cx="150" cy="100" r="80" fill="green" />
lib/scale/svg.rb
@@ -1,7 +1,13 @@
+require 'nokogiri'
+
 module Scale
   class SVG
     def to_xml
-      ""
+      builder = Nokogiri::XML::Builder.new do |xml|
+        xml.svg(version: "1.1", baseProfile: "full", xmlns: "http://www.w3.org/2000/svg") do
+        end
+      end
+      builder.to_xml
     end
   end
 end
spec/svg_spec.rb
@@ -4,8 +4,8 @@ describe Scale::SVG do
   it 'produces and empty xml document' do
     result = subject.to_xml
     expected = <<-XML
-    <svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
-    </svg>
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg\" version="1.1" baseProfile="full"/>
     XML
     expect(result).to eql(expected)
   end
scale.gemspec
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
   spec.executables   = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
   spec.require_paths = ["lib"]
 
+  spec.add_dependency "nokogiri", "~> 1.6.6"
   spec.add_development_dependency "bundler", "~> 1.9"
   spec.add_development_dependency "rake", "~> 10.0"
   spec.add_development_dependency "rspec", "~> 3.2"