Method: OpenC3.require_class
- Defined in:
- lib/openc3/top_level.rb
.require_class(class_name_or_class_filename, log_error = true) ⇒ Object
Require the class represented by the filename. This uses the standard Ruby convention of having a single class per file where the class name is camel cased and filename is lowercase with underscores.
432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 |
# File 'lib/openc3/top_level.rb', line 432 def self.require_class(class_name_or_class_filename, log_error = true) if class_name_or_class_filename.downcase[-3..-1] == '.rb' or (class_name_or_class_filename[0] == class_name_or_class_filename[0].downcase) class_filename = class_name_or_class_filename class_name = class_filename.filename_to_class_name else class_name = class_name_or_class_filename class_filename = class_name.class_name_to_filename end return class_name.to_class if class_name.to_class and defined? class_name.to_class self.require_file(class_filename, log_error) klass = class_name.to_class raise "Ruby class #{class_name} not found" unless klass klass end |