Sha256: 958ad938930b86ac42a3df101eaf54aa54dea5dedb9d37d13a66c73379ccc23c
Contents?: true
Size: 1.2 KB
Versions: 1
Compression:
Stored size: 1.2 KB
Contents
require "sax-machine/sax_element_config" require "sax-machine/sax_collection_config" module SAXMachine class SAXConfig def initialize @top_level_elements = [] @complex_elements = [] @collection_elements = [] end def add_top_level_element(name, options) @top_level_elements << ElementConfig.new(name, options) end def add_complex_element(name, options) @complex_elements << ElementConfig.new(name, options) end def add_collection_element(name, options) @collection_elements << CollectionConfig.new(name, options) end def complex_config(name) @complex_elements.detect { |ce| ce.name.to_s == name.to_s } end def collection_config(name) @collection_elements.detect { |ce| ce.name.to_s == name.to_s } end def element_configs_for_attribute(name, attrs) @top_level_elements.select do |element_config| element_config.name == name && element_config.has_value_and_attrs_match?(attrs) end end def element_config_for_tag(name, attrs) @top_level_elements.detect do |element_config| element_config.name == name && element_config.attrs_match?(attrs) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
UnderpantsGnome-sax-machine-0.0.14 | lib/sax-machine/sax_config.rb |