Module | XSD::CodeGen::GenSupport |
In: |
lib/xsd/codegen/gensupport.rb
|
# 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
# 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
# File lib/xsd/codegen/gensupport.rb, line 114 114: def keyword?(word) 115: KEYWORD.key?(word) 116: end
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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