Class: MusicalScore::Part::Part
- Inherits:
-
ElementBase
- Object
- ElementBase
- MusicalScore::Part::Part
- Includes:
- Contracts
- Defined in:
- lib/musical_score/part/part.rb
Instance Attribute Summary collapse
-
#measures ⇒ Object
Returns the value of attribute measures.
Class Method Summary collapse
Instance Method Summary collapse
- #export_xml(number) ⇒ Object
-
#initialize(measures) ⇒ Part
constructor
A new instance of Part.
- #set_location ⇒ Object
Constructor Details
#initialize(measures) ⇒ Part
Returns a new instance of Part.
14 15 16 |
# File 'lib/musical_score/part/part.rb', line 14 def initialize(measures) @measures = measures end |
Instance Attribute Details
#measures ⇒ Object
Returns the value of attribute measures.
12 13 14 |
# File 'lib/musical_score/part/part.rb', line 12 def measures @measures end |
Class Method Details
.create_by_hash(doc) ⇒ Object
30 31 32 33 34 35 36 37 38 |
# 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) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# 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 |
Instance Method Details
#export_xml(number) ⇒ Object
40 41 42 43 44 45 46 47 48 49 |
# 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 ⇒ Object
51 52 53 |
# File 'lib/musical_score/part/part.rb', line 51 def set_location @measures.set_location end |