class ScaffoldParser::Scaffolders::XSD::Parser::Handlers::ComplexType
Attributes
elements[RW]
Public Class Methods
new(elements = [])
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/complex_type.rb, line 9 def initialize(elements = []) @elements = elements end
Public Instance Methods
element(source)
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/complex_type.rb, line 17 def element(source) if source.multiple? if elements.any? new_class = STACK.push Klass.new(source, elements) ListMethod.new(source) do |template| template.item_class = new_class.name.camelize end else ListMethod.new(source) do |template| template.item_class = source.has_custom_type? ? source.type.split(':').map(&:classify).join('::') : 'String' end end elsif source.has_custom_type? SubmodelMethod.new(source) else if elements.any? new_class = STACK.push Klass.new(source, elements) SubmodelMethod.new(source, new_class.name_with_prefix) else AtMethod.new(source) end end end
schema(_)
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/complex_type.rb, line 13 def schema(_) STACK end