Class XSD::CodeGen::MethodDef
In: lib/xsd/codegen/methoddef.rb
Parent: Object

Methods

Included Modules

GenSupport CommentDef

Attributes

definition  [RW] 

Public Class methods

[Source]

    # File lib/xsd/codegen/methoddef.rb, line 23
23:   def initialize(name, *params)
24:     unless safemethodname?(name)
25:       raise ArgumentError.new("name '#{name}' seems to be unsafe")
26:     end
27:     @name = name
28:     @params = params
29:     @comment = nil
30:     @definition = yield if block_given?
31:   end

Public Instance methods

[Source]

    # File lib/xsd/codegen/methoddef.rb, line 33
33:   def dump
34:     buf = ""
35:     buf << dump_comment if @comment
36:     buf << dump_method_def
37:     buf << dump_definition if @definition and !@definition.empty?
38:     buf << dump_method_def_end
39:     buf
40:   end

Private Instance methods

[Source]

    # File lib/xsd/codegen/methoddef.rb, line 56
56:   def dump_definition
57:     format(@definition, 2)
58:   end

[Source]

    # File lib/xsd/codegen/methoddef.rb, line 44
44:   def dump_method_def
45:     if @params.empty?
46:       format("def #{@name}")
47:     else
48:       format("def #{@name}(#{@params.join(", ")})")
49:     end
50:   end

[Source]

    # File lib/xsd/codegen/methoddef.rb, line 52
52:   def dump_method_def_end
53:     format("end")
54:   end

[Validate]