class MusicalScore::Attribute::Clef
Attributes
clef_octave_change[R]
line[R]
sign[R]
Public Class Methods
create_by_hash(doc)
click to toggle source
# File lib/musical_score/attribute/clef.rb, line 31 def self.create_by_hash(doc) sign = doc["sign"][0].to_sym line = doc.has_key?("line") ? doc["line"][0].to_i : 0 clef_octave_change = doc.has_key?("clef-octave-change") ? doc["clef-octave-change"][0].to_i : 0 clef = MusicalScore::Attribute::Clef.new(sign, line, clef_octave_change) return clef end
create_by_xml(xml_doc)
click to toggle source
# File lib/musical_score/attribute/clef.rb, line 22 def self.create_by_xml(xml_doc) sign = xml_doc.elements["sign"].text.to_sym line = xml_doc.elements["line"] ? xml_doc.elements["line"].text.to_i : 0 clef_octave_change = xml_doc.elements["clef-octave-change"] ? xml_doc.elements["clef-octave-change"].text.to_i : 0 clef = MusicalScore::Attribute::Clef.new(sign, line, clef_octave_change) return clef end
new(sign, line = 0, clef_octave_change = 0)
click to toggle source
# File lib/musical_score/attribute/clef.rb, line 15 def initialize(sign, line = 0, clef_octave_change = 0) @sign = sign.to_sym @line = line @clef_octave_change = clef_octave_change end
Public Instance Methods
export_xml()
click to toggle source
# File lib/musical_score/attribute/clef.rb, line 39 def export_xml clef_element = REXML::Element.new('clef') sign_element = REXML::Element.new('sign').add_text(@sign.to_s) line_element = @line != 0 ? REXML::Element.new('line').add_text(@line.to_s) : nil clef_octave_change_element = @clef_octave_change != 0 ? REXML::Element.new('clef-octave-change').add_text(@clef_octave_change.to_s) : nil clef_element.add_element(sign_element) clef_element.add_element(line_element) if line_element clef_element.add_element(clef_octave_change_element) if clef_octave_change_element return clef_element end