Class: MusicalScore::Score::Part::Part

Inherits:
ElementBase show all
Includes:
Contracts
Defined in:
lib/musical_score/score/part/part.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from ElementBase

create_by_hash, create_by_xml

Constructor Details

#initialize(part_name, part_abbreviation) ⇒ Part

Returns a new instance of Part.



16
17
18
19
# File 'lib/musical_score/score/part/part.rb', line 16

def initialize(part_name, part_abbreviation)
    @part_name         = part_name
    @part_abbreviation = part_abbreviation
end

Instance Attribute Details

#part_abbreviationObject (readonly)

Returns the value of attribute part_abbreviation.



13
14
15
# File 'lib/musical_score/score/part/part.rb', line 13

def part_abbreviation
  @part_abbreviation
end

#part_nameObject (readonly)

Returns the value of attribute part_name.



13
14
15
# File 'lib/musical_score/score/part/part.rb', line 13

def part_name
  @part_name
end

Instance Method Details

#export_xml(index) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/musical_score/score/part/part.rb', line 21

def export_xml(index)
    score_part_element = REXML::Element.new('score-part')
    score_part_element.add_attribute('id', "P" + index.to_s)

    part_name_element  = REXML::Element.new('part-name')
    part_name_element.add_text(@part_name)
    part_abbreviation_element = REXML::Element.new('part-abbreviation')
    part_abbreviation_element.add_text(@part_abbreviation)
    score_part_element.add_element(part_name_element)
    score_part_element.add_element(part_abbreviation_element)

    return score_part_element
end