Module XSD::CodeGen::GenSupport
In: lib/xsd/codegen/gensupport.rb

Methods

Public Instance methods

[Source]

    # File lib/xsd/codegen/gensupport.rb, line 58
58:   def capitalize(target)
59:     target.sub(/^([a-z])/) { $1.tr!('[a-z]', '[A-Z]') }
60:   end

[Source]

     # File lib/xsd/codegen/gensupport.rb, line 119
119:   def format(str, indent = nil)
120:     str = trim_eol(str)
121:     str = trim_indent(str)
122:     if indent
123:       str.gsub(/^/, " " * indent)
124:     else
125:       str
126:     end
127:   end

[Source]

     # File lib/xsd/codegen/gensupport.rb, line 114
114:   def keyword?(word)
115:     KEYWORD.key?(word)
116:   end

[Source]

    # File lib/xsd/codegen/gensupport.rb, line 68
68:   def safeconstname(name)
69:     safename = name.scan(/[a-zA-Z0-9_]+/).collect { |ele|
70:       GenSupport.capitalize(ele)
71:     }.join
72:     if /^[A-Z]/ !~ safename or keyword?(safename)
73:       safename = "C_#{safename}"
74:     end
75:     safename
76:   end

[Source]

    # File lib/xsd/codegen/gensupport.rb, line 79
79:   def safeconstname?(name)
80:     /\A[A-Z][a-zA-Z0-9_]*\z/ =~ name and !keyword?(name)
81:   end

[Source]

    # File lib/xsd/codegen/gensupport.rb, line 84
84:   def safemethodname(name)
85:     safename = name.scan(/[a-zA-Z0-9_]+/).join('_')
86:     safename = uncapitalize(safename)
87:     if /^[a-z]/ !~ safename
88:       safename = "m_#{safename}"
89:     end
90:     safename
91:   end

[Source]

    # File lib/xsd/codegen/gensupport.rb, line 94
94:   def safemethodname?(name)
95:     /\A[a-zA-Z_][a-zA-Z0-9_]*[=!?]?\z/ =~ name
96:   end

[Source]

     # File lib/xsd/codegen/gensupport.rb, line 99
 99:   def safevarname(name)
100:     safename = uncapitalize(name.scan(/[a-zA-Z0-9_]+/).join('_'))
101:     if /^[a-z]/ !~ safename or keyword?(safename)
102:       "v_#{safename}"
103:     else
104:       safename
105:     end
106:   end

[Source]

     # File lib/xsd/codegen/gensupport.rb, line 109
109:   def safevarname?(name)
110:     /\A[a-z_][a-zA-Z0-9_]*\z/ =~ name and !keyword?(name)
111:   end

[Source]

    # File lib/xsd/codegen/gensupport.rb, line 63
63:   def uncapitalize(target)
64:     target.sub(/^([A-Z])/) { $1.tr!('[A-Z]', '[a-z]') }
65:   end

Private Instance methods

[Source]

     # File lib/xsd/codegen/gensupport.rb, line 159
159:   def dump_emptyline
160:     "\n"
161:   end

[Source]

     # File lib/xsd/codegen/gensupport.rb, line 131
131:   def trim_eol(str)
132:     str.collect { |line|
133:       line.sub(/\r?\n\z/, "") + "\n"
134:     }.join
135:   end

[Source]

     # File lib/xsd/codegen/gensupport.rb, line 137
137:   def trim_indent(str)
138:     indent = nil
139:     str = str.collect { |line| untab(line) }.join
140:     str.each do |line|
141:       head = line.index(/\S/)
142:       if !head.nil? and (indent.nil? or head < indent)
143:         indent = head
144:       end
145:     end
146:     return str unless indent
147:     str.collect { |line|
148:       line.sub(/^ {0,#{indent}}/, "")
149:     }.join
150:   end

[Source]

     # File lib/xsd/codegen/gensupport.rb, line 152
152:   def untab(line, ts = 8)
153:     while pos = line.index(/\t/)
154:       line = line.sub(/\t/, " " * (ts - (pos % ts)))
155:     end
156:     line
157:   end

[Validate]