class ScaffoldParser::Scaffolders::XSD::Parser::Handlers::Extension

Attributes

attributes[RW]
elements[RW]

Public Class Methods

new(elements = [], attributes) click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/extension.rb, line 9
def initialize(elements = [], attributes)
  @elements = [*elements]
  @attributes = attributes
end

Public Instance Methods

complex_type(source) click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/extension.rb, line 14
def complex_type(source)
  if source.has_name?
    template = Klass.new(source, elements) do |template|
      template.inherit_from = attributes['base'].camelize
    end

    STACK.push template
  else
    ComplexType.new elements + [ClassInherit.new(attributes['base'])]
  end
end