# File lib/xsd/codegen/moduledef.rb, line 64 64: def add_method(m, visibility = :public) 65: @methoddef << [visibility, m] 66: end
# File lib/xsd/codegen/moduledef.rb, line 46 46: def def_code(code) 47: @code << code 48: end
# File lib/xsd/codegen/moduledef.rb, line 39 39: def def_const(const, value) 40: unless safeconstname?(const) 41: raise ArgumentError.new("#{const} seems to be unsafe") 42: end 43: @const << [const, value] 44: end
# File lib/xsd/codegen/moduledef.rb, line 50 50: def def_method(name, *params) 51: add_method(MethodDef.new(name, *params) { yield if block_given? }, :public) 52: end
# File lib/xsd/codegen/moduledef.rb, line 60 60: def def_privatemethod(name, *params) 61: add_method(MethodDef.new(name, *params) { yield if block_given? }, :private) 62: end
# File lib/xsd/codegen/moduledef.rb, line 55 55: def def_protectedmethod(name, *params) 56: add_method(MethodDef.new(name, *params) { yield if block_given? }, 57: :protected) 58: end
# File lib/xsd/codegen/moduledef.rb, line 35 35: def def_require(path) 36: @requirepath << path 37: end
# File lib/xsd/codegen/moduledef.rb, line 68 68: def dump 69: buf = "" 70: unless @requirepath.empty? 71: buf << dump_requirepath 72: end 73: buf << dump_emptyline unless buf.empty? 74: package = @name.split(/::/)[0..2] 75: buf << dump_package_def(package) unless package.empty? 76: buf << dump_comment if @comment 77: buf << dump_module_def 78: spacer = false 79: unless @const.empty? 80: buf << dump_emptyline if spacer 81: spacer = true 82: buf << dump_const 83: end 84: unless @innermodule.empty? 85: buf << dump_emptyline # always add 1 empty line 86: spacer = true 87: buf << dump_innermodule 88: end 89: unless @code.empty? 90: buf << dump_emptyline if spacer 91: spacer = true 92: buf << dump_code 93: end 94: unless @methoddef.empty? 95: buf << dump_emptyline if spacer 96: spacer = true 97: buf << dump_methods 98: end 99: buf << dump_module_def_end 100: buf << dump_package_def_end(package) unless package.empty? 101: buf.gsub(/^\s+$/, '') 102: end
# File lib/xsd/codegen/moduledef.rb, line 130 130: def dump_code 131: dump_static(@code.join("\n")) 132: end
# File lib/xsd/codegen/moduledef.rb, line 114 114: def dump_const 115: dump_static( 116: @const.sort.collect { |var, value| 117: %(#{var} = #{dump_value(value)}) 118: }.join("\n") 119: ) 120: end
# File lib/xsd/codegen/moduledef.rb, line 122 122: def dump_innermodule 123: dump_static( 124: @innermodule.collect { |moduledef| 125: moduledef.dump 126: }.join("\n") 127: ) 128: end
# File lib/xsd/codegen/moduledef.rb, line 138 138: def dump_methods 139: methods = {} 140: @methoddef.each do |visibility, method| 141: (methods[visibility] ||= []) << method 142: end 143: str = "" 144: [:public, :protected, :private].each do |visibility| 145: if methods[visibility] 146: str << "\n" unless str.empty? 147: str << visibility.to_s << "\n\n" unless visibility == :public 148: str << methods[visibility].collect { |m| format(m.dump, 2) }.join("\n") 149: end 150: end 151: str 152: end
# File lib/xsd/codegen/moduledef.rb, line 170 170: def dump_module_def 171: name = @name.to_s.split(/::/) 172: format("module #{name.last}") 173: end
# File lib/xsd/codegen/moduledef.rb, line 175 175: def dump_module_def_end 176: format("end") 177: end
# File lib/xsd/codegen/moduledef.rb, line 162 162: def dump_package_def(package) 163: format(package.collect { |ele| "module #{ele}" }.join("; ")) + "\n\n" 164: end
# File lib/xsd/codegen/moduledef.rb, line 166 166: def dump_package_def_end(package) 167: "\n\n" + format(package.collect { |ele| "end" }.join("; ")) 168: end
# File lib/xsd/codegen/moduledef.rb, line 106 106: def dump_requirepath 107: format( 108: @requirepath.collect { |path| 109: %(require '#{path}') 110: }.join("\n") 111: ) 112: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.