class MusicalScore::Part::Part

Attributes

measures[RW]

Public Class Methods

create_by_hash(doc) click to toggle source
# File lib/musical_score/part/part.rb, line 30
def self.create_by_hash(doc)
    measure_array = Array.new
    doc["measure"].each do |element|
        measure = MusicalScore::Part::Measure.create_by_hash(element)
        measure_array.push(measure)
    end
    measures = MusicalScore::Measures.new(measure_array)
    return MusicalScore::Part::Part.new(measures)
end
create_by_xml(xml_doc) click to toggle source
# File lib/musical_score/part/part.rb, line 19
def self.create_by_xml(xml_doc)
    measure_array = Array.new
    xml_doc.elements.each("//measure") do |element|
        measure = MusicalScore::Part::Measure.create_by_xml(element)
        measure_array.push(measure)
    end
    measures = MusicalScore::Measures.new(measure_array)
    return MusicalScore::Part::Part.new(measures)
end
new(measures) click to toggle source
# File lib/musical_score/part/part.rb, line 14
def initialize(measures)
    @measures = measures
end

Public Instance Methods

export_xml(number) click to toggle source
# File lib/musical_score/part/part.rb, line 40
def export_xml(number)
    part = REXML::Element.new('part')
    part.add_attribute('id', "P" + number.to_s)

    @measures.each do |measure|
        part.add_element(measure.export_xml)
    end

    return part
end
set_location() click to toggle source
# File lib/musical_score/part/part.rb, line 51
def set_location
    @measures.set_location
end