class MusicXML::Node::Config
Attributes
clazz[RW]
plural_attrs[RW]
plural_nodes[RW]
properties[RW]
singular_attrs[RW]
singular_nodes[RW]
Public Class Methods
new(clazz)
click to toggle source
# File lib/musicxml/node/config.rb, line 9 def initialize(clazz) self.clazz = clazz %w[plural_attrs plural_nodes singular_attrs singular_nodes properties].each do |name| send("#{name}=", []) end end
Public Instance Methods
pattrs(*names)
click to toggle source
# File lib/musicxml/node/config.rb, line 16 def pattrs(*names) self.plural_attrs += names add_accessors(*names) end
pnodes(*names)
click to toggle source
# File lib/musicxml/node/config.rb, line 21 def pnodes(*names) self.plural_nodes += names add_accessors(*names) end
props(*names)
click to toggle source
# File lib/musicxml/node/config.rb, line 26 def props(*names) self.properties += names add_accessors(*names) end
sattrs(*names)
click to toggle source
# File lib/musicxml/node/config.rb, line 31 def sattrs(*names) self.singular_attrs += names add_accessors(*names) end
snodes(*names)
click to toggle source
# File lib/musicxml/node/config.rb, line 36 def snodes(*names) self.singular_nodes += names add_accessors(*names) end
Private Instance Methods
add_accessors(*names)
click to toggle source
# File lib/musicxml/node/config.rb, line 43 def add_accessors(*names) clazz.class_eval { attr_accessor(*names) } end