module XsdModel
Public Class Methods
parse(xml_string, options = {})
click to toggle source
# File lib/xsd_model.rb, line 9 def self.parse(xml_string, options = {}) Parser.call(xml_string, normalize_options(options)) end
Private Class Methods
normalize_options(options)
click to toggle source
# File lib/xsd_model.rb, line 15 def self.normalize_options(options) options.transform_values do |value| case value when Proc then value when String, Symbol then -> (child) { [value.xsdize].include? child.name } when Array then -> (child) { value.map(&:xsdize).include? child.name } else fail UnknownOptionType, 'Option given has to be either String, Symbol, Array, or Proc.' end end end