Sha256: 256f010031820291be0467b13e60cbd18b852a57ae2038e93e080b6f40acfa48
Contents?: true
Size: 782 Bytes
Versions: 1
Compression:
Stored size: 782 Bytes
Contents
module MusicXML module Node # Superclass for all node types class Base include JsonExport # Build a Parser to parse the node based on this class' config def initialize(node) Parser.new(node: node, config: self.class.config).parse.each do |key, value| instance_variable_set(key, value) end end class << self # forward class methods to the config to store the configuration extend Forwardable def_delegators :config, :pattrs, :pnodes, :props, :sattrs, :snodes attr_accessor :config # when this class is subclassed build a new config def inherited(subclass) subclass.config = ::MusicXML::Node::Config.new(subclass) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
musicxml-0.0.1 | lib/musicxml/node/base.rb |