class Nguyen::Xfdf
Attributes
options[R]
Public Class Methods
new(fields = {}, options = {})
click to toggle source
# File lib/nguyen/xfdf.rb, line 8 def initialize(fields = {}, options = {}) @fields = fields @options = { file: nil, id: nil }.merge(options) end
Public Instance Methods
save_to(path)
click to toggle source
write fdf content to path
# File lib/nguyen/xfdf.rb, line 39 def save_to(path) File.write(path, to_xfdf) end
to_xfdf()
click to toggle source
generate XFDF content
# File lib/nguyen/xfdf.rb, line 17 def to_xfdf builder = Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml| xml.xfdf('xmlns' => 'http://ns.adobe.com/xfdf/', 'xml:space' => 'preserve') { xml.f(href: options[:file]) if options[:file] xml.ids(original: options[:id], modified: options[:id]) if options[:id] xml.fields { @fields.each do |field, value| xml.field(name: field) { if value.is_a? Array value.each { |item| xml.value(item.to_s) } else xml.value(value.to_s) end } end } } end builder.to_xml(save_with: Nokogiri::XML::Node::SaveOptions::AS_XML) end