class ScaffoldParser::Scaffolders::XSD::Parser::Handlers::ModuleInclude

Attributes

ref[R]
source[R]

Public Class Methods

new(source) click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/module_include.rb, line 9
def initialize(source)
  @source = source
  @ref = @source.ref&.camelize
end

Public Instance Methods

complex_type(new_source) click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/module_include.rb, line 26
def complex_type(new_source)
  if new_source.has_name?
    STACK.push Klass.new(new_source, self)
  else
    self
  end
end
element(new_source) click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/module_include.rb, line 34
def element(new_source)
  if new_source.has_name?
    new_class = STACK.push Klass.new(new_source, self)

    SubmodelMethod.new(new_source, new_class.name_with_prefix)
  end
end
full_ref() click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/module_include.rb, line 14
def full_ref
  if ref.include? ':'
    [ref.split(':')[0], 'groups', ref.split(':')[1]].compact.map(&:camelize).join('::')
  else
    [source.xmlns_prefix, 'groups', ref].compact.map(&:camelize).join('::')
  end
end
sequence(_) click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/module_include.rb, line 22
def sequence(_)
  Sequence.new self
end