Module: RGen::Util::NameHelper
- Included in:
- ECore::EClassifier::ClassModule, ECore::EPackage::ClassModule, Instantiator::DefaultXMLInstantiator, MetamodelBuilder::BuilderExtensions, MetamodelBuilder::BuilderRuntime
- Defined in:
- lib/rgen/util/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
34 35 36 |
# File 'lib/rgen/util/name_helper.rb', line 34 def camelize(str) str.split(/[\W_]/).collect{|s| firstToUpper(s.downcase)}.join end |
#className(object) ⇒ Object
14 15 16 |
# File 'lib/rgen/util/name_helper.rb', line 14 def className(object) object.class.name =~ /::(\w+)$/; $1 end |
#firstToLower(str) ⇒ Object
22 23 24 |
# File 'lib/rgen/util/name_helper.rb', line 22 def firstToLower(str) str[0..0].downcase + ( str[1..-1] || "" ) end |
#firstToUpper(str) ⇒ Object
18 19 20 |
# File 'lib/rgen/util/name_helper.rb', line 18 def firstToUpper(str) str[0..0].upcase + ( str[1..-1] || "" ) end |
#normalize(name) ⇒ Object
10 11 12 |
# File 'lib/rgen/util/name_helper.rb', line 10 def normalize(name) name.gsub(/\W/,'_') end |
#saneClassName(str) ⇒ Object
26 27 28 |
# File 'lib/rgen/util/name_helper.rb', line 26 def saneClassName(str) firstToUpper(normalize(str)).sub(/^Class$/, 'Clazz') end |
#saneMethodName(str) ⇒ Object
30 31 32 |
# File 'lib/rgen/util/name_helper.rb', line 30 def saneMethodName(str) firstToLower(normalize(str)).sub(/^class$/, 'clazz') end |