Class | XSD::CodeGen::ModuleDef
In: | xsd/codegen/moduledef.rb
Parent: | Object

### Methods

add_method def_code def_const def_method def_privatemethod def_protectedmethod def_publicmethod def_require dump new

### Included Modules

GenSupport CommentDef

### Public Class methods

new(name)

[Source]

    # File xsd/codegen/moduledef.rb, line 22
      def initialize(name)
        @name = name
        @comment = nil
        @const = []
        @code = []
        @requirepath = []
        @methoddef = []
      end

### Public Instance methods

add_method(m, visibility = :public)

[Source]

    # File xsd/codegen/moduledef.rb, line 60
      def add_method(m, visibility = :public)
        @methoddef << [visibility, m]
      end

def_code(code)

[Source]

    # File xsd/codegen/moduledef.rb, line 42
      def def_code(code)
        @code << code
      end

def_const(const, value)

[Source]

    # File xsd/codegen/moduledef.rb, line 35
      def def_const(const, value)
        unless safeconstname?(const)
          raise ArgumentError.new("#{const} seems to be unsafe")
        end
        @const << [const, value]
      end

def_method(name, *params) {|if block_given?| ...}

[Source]

    # File xsd/codegen/moduledef.rb, line 46
      def def_method(name, *params)
        add_method(MethodDef.new(name, *params) { yield if block_given? }, :public)
      end

def_privatemethod(name, *params) {|if block_given?| ...}

[Source]

    # File xsd/codegen/moduledef.rb, line 56
      def def_privatemethod(name, *params)
        add_method(MethodDef.new(name, *params) { yield if block_given? }, :private)
      end

def_protectedmethod(name, *params) {|if block_given?| ...}

[Source]

    # File xsd/codegen/moduledef.rb, line 51
      def def_protectedmethod(name, *params)
        add_method(MethodDef.new(name, *params) { yield if block_given? },
          :protected)
      end

def_publicmethod(name, *params)

Alias for def_method

def_require(path)

[Source]

    # File xsd/codegen/moduledef.rb, line 31
      def def_require(path)
        @requirepath << path
      end

dump()

[Source]

    # File xsd/codegen/moduledef.rb, line 64
      def dump
        buf = ""
        unless @requirepath.empty?
          buf << dump_requirepath
        end
        buf << dump_emptyline unless buf.empty?
        package = @name.split(/::/)[0..-2]
        buf << dump_package_def(package) unless package.empty?
        buf << dump_comment if @comment
        buf << dump_module_def
        spacer = false
        unless @const.empty?
          buf << dump_emptyline if spacer
          spacer = true
          buf << dump_const
        end
        unless @code.empty?
          buf << dump_emptyline if spacer
          spacer = true
          buf << dump_code
        end
        unless @methoddef.empty?
          buf << dump_emptyline if spacer
          spacer = true
          buf << dump_methods
        end
        buf << dump_module_def_end
        buf << dump_package_def_end(package) unless package.empty?
        buf.gsub(/^\s+$/, '')
      end

[Validate]