Module: RGen::NameHelper
- Included in:
- ECore::EClassifier::ClassModule, ECore::EPackage::ClassModule, Instantiator::DefaultXMLInstantiator, MetamodelBuilder::BuilderExtensions, MetamodelBuilder::BuilderRuntime
- Defined in:
- lib/rgen/name_helper.rb
Instance Method Summary collapse
- #camelize(str) ⇒ Object
- #className(object) ⇒ Object
- #firstToLower(str) ⇒ Object
- #firstToUpper(str) ⇒ Object
- #normalize(name) ⇒ Object
- #saneClassName(str) ⇒ Object
- #saneMethodName(str) ⇒ Object
Instance Method Details
#camelize(str) ⇒ Object
32 33 34 |
# File 'lib/rgen/name_helper.rb', line 32 def camelize(str) str.split(/[\W_]/).collect{|s| firstToUpper(s.downcase)}.join end |
#className(object) ⇒ Object
12 13 14 |
# File 'lib/rgen/name_helper.rb', line 12 def className(object) object.class.name =~ /::(\w+)$/; $1 end |
#firstToLower(str) ⇒ Object
20 21 22 |
# File 'lib/rgen/name_helper.rb', line 20 def firstToLower(str) str[0..0].downcase + ( str[1..-1] || "" ) end |
#firstToUpper(str) ⇒ Object
16 17 18 |
# File 'lib/rgen/name_helper.rb', line 16 def firstToUpper(str) str[0..0].upcase + ( str[1..-1] || "" ) end |
#normalize(name) ⇒ Object
8 9 10 |
# File 'lib/rgen/name_helper.rb', line 8 def normalize(name) name.gsub(/\W/,'_') end |
#saneClassName(str) ⇒ Object
24 25 26 |
# File 'lib/rgen/name_helper.rb', line 24 def saneClassName(str) firstToUpper(normalize(str)).sub(/^Class$/, 'Clazz') end |
#saneMethodName(str) ⇒ Object
28 29 30 |
# File 'lib/rgen/name_helper.rb', line 28 def saneMethodName(str) firstToLower(normalize(str)).sub(/^class$/, 'clazz') end |