class MusicalScore::Score::Identification::Encoding
Attributes
encoding_date[R]
encoding_description[R]
softwares[R]
supports[R]
Public Class Methods
create_by_hash(doc)
click to toggle source
# File lib/musical_score/score/identification/encoding.rb, line 40 def self.create_by_hash(doc) encoding_date = Time.new if (doc.has_key?("encoding-date")) encoding_date = Time.parse(doc["encoding-date"][0]) end encoding_description = doc.has_key?("encoding_description") ? doc["encoding_date"] : '' softwares = Array.new if doc.has_key?("software") doc["software"].each do |element| softwares.push(element) end end supports = Array.new doc["supports"].each do |element| if (element["type"] == "yes") supports.push(element["element"]) end end return MusicalScore::Score::Identification::Encoding.new(encoding_date, encoding_description, softwares, supports) end
create_by_xml(xml_doc)
click to toggle source
# File lib/musical_score/score/identification/encoding.rb, line 19 def self.create_by_xml(xml_doc) encoding_date = Time.new if (xml_doc.elements["//encoding-date"]) encoding_date = Time.parse(xml_doc.elements["//encoding-date"].text) end encoding_description = xml_doc.elements["//encoding-description"] ? xml_doc.elements["//encoding_description"].text : '' softwares = Array.new xml_doc.elements.each("//software") do |element| softwares.push(element.text) end supports = Array.new xml_doc.elements.each("//supports") do |element| if (element.attributes["type"] == "yes") supports.push(element.attributes["element"]) end end return MusicalScore::Score::Identification::Encoding.new(encoding_date, encoding_description, softwares, supports) end
new(encoding_date, encoding_description, softwares, supports)
click to toggle source
# File lib/musical_score/score/identification/encoding.rb, line 11 def initialize(encoding_date, encoding_description, softwares, supports) @encoding_date = encoding_date @encoding_description = encoding_description @softwares = softwares @supports = supports end
Public Instance Methods
export_xml()
click to toggle source
# File lib/musical_score/score/identification/encoding.rb, line 61 def export_xml encoding = REXML::Element.new('encoding') @softwares.each do |software| software_e = REXML::Element.new('software') software_e.add_text(software) encoding.add_element(software_e) end encoding_date = REXML::Element.new('encoding-date') encoding_date.add_text(@encoding_date.strftime("%Y-%m-%d")) encoding.add_element(encoding_date) @supports.each do |support| supports_e = REXML::Element.new('supports') supports_e.add_attribute('type','yes') supports_e.add_attribute('element',support) encoding.add_element(supports_e) end desc_e = REXML::Element.new('encoding-description') if (@encoding_description != '') desc_e.add_text(@encoding_description) encoding.add_element(desc_e) end return encoding end