Method: String#filename_to_class_name
- Defined in:
- lib/openc3/core_ext/string.rb
#filename_to_class_name ⇒ String
Converts a String representing a filename (i.e. “my_great_class.rb”) to a Ruby class name (i.e. “MyGreatClass”).
306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 |
# File 'lib/openc3/core_ext/string.rb', line 306 def filename_to_class_name filename = File.basename(self) class_name = '' length = filename.length upcase_next = true length.times do |index| break if filename[index..index] == '.' if filename[index..index] == '_' upcase_next = true elsif upcase_next class_name << filename[index..index].upcase upcase_next = false else class_name << filename[index..index].downcase end end class_name end |