Method: Arrow::Injectable.load_class
- Defined in:
- lib/arrow/mixins.rb
.load_class(classname) ⇒ Object
Return the Class object for the given derivative classname, attempting to load it if it hasn’t been already.
361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 |
# File 'lib/arrow/mixins.rb', line 361 def self::load_class( classname ) Arrow::Logger[self].debug "Loading injectable class '#{classname}'" unless Arrow::Injectable.derivatives.include?( classname ) modname = classname.downcase.gsub( /::/, '/' ) Arrow::Logger[self].debug "Class not loaded yet. Trying to " + "load it from #{modname}" require modname or raise "%s didn't register with Injectable for some reason" % [ classname ] Arrow::Logger[self].debug "Loaded injectable class %s (%d classes loaded)" % [ classname, Arrow::Injectable.derivatives.length ] end Arrow::Injectable.derivatives[ classname ] end |