Class | XSD::CodeGen::ModuleDef |
In: |
xsd/codegen/moduledef.rb
|
Parent: | Object |
# File xsd/codegen/moduledef.rb, line 22 def initialize(name) @name = name @comment = nil @const = [] @code = [] @requirepath = [] @methoddef = [] end
# File xsd/codegen/moduledef.rb, line 60 def add_method(m, visibility = :public) @methoddef << [visibility, m] end
# 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
# File xsd/codegen/moduledef.rb, line 46 def def_method(name, *params) add_method(MethodDef.new(name, *params) { yield if block_given? }, :public) end
# File xsd/codegen/moduledef.rb, line 56 def def_privatemethod(name, *params) add_method(MethodDef.new(name, *params) { yield if block_given? }, :private) end
# File xsd/codegen/moduledef.rb, line 51 def def_protectedmethod(name, *params) add_method(MethodDef.new(name, *params) { yield if block_given? }, :protected) end
# 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