Sha256: 461e8347e5c6501e765741e8fd45d2587675e1061d842bcbae8e5cb3be46fd13

Contents?: true

Size: 780 Bytes

Versions: 5

Compression:

Stored size: 780 Bytes

Contents

module ScaffoldParser
  module Scaffolders
    class XSD
      class Parser
        module Handlers
          class Extension
            attr_accessor :elements, :attributes

            def initialize(elements = [], attributes)
              @elements = [*elements]
              @attributes = attributes
            end

            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
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
scaffold_parser-0.10.0 lib/scaffold_parser/scaffolders/xsd/parser/handlers/extension.rb
scaffold_parser-0.9.1 lib/scaffold_parser/scaffolders/xsd/parser/handlers/extension.rb
scaffold_parser-0.9.0 lib/scaffold_parser/scaffolders/xsd/parser/handlers/extension.rb
scaffold_parser-0.8.0 lib/scaffold_parser/scaffolders/xsd/parser/handlers/extension.rb
scaffold_parser-0.7.0 lib/scaffold_parser/scaffolders/xsd/parser/handlers/extension.rb