class Dandy::TypeLoader
Public Class Methods
new(dandy_config)
click to toggle source
# File lib/dandy/loaders/type_loader.rb, line 3 def initialize(dandy_config) @directories = dandy_config[:path][:dependencies] end
Public Instance Methods
load_types()
click to toggle source
# File lib/dandy/loaders/type_loader.rb, line 7 def load_types types = [] @directories.each do |directory| dir = File.join(directory, '**/*') files = Dir.glob(dir).reject {|file_path| File.directory?(file_path)} test_patterns = %w(_spec.rb .spec.rb _test.rb .test.rb) files.select {|f| !f.end_with?(*test_patterns)}.each do |file| path = File.join(Dir.pwd, file) require path file_name = File.basename(file).gsub(File.extname(file), '') class_name = file_name.split('_').each(&:capitalize!).join('') types << { class: Object.const_get(class_name), path: file.gsub(File.extname(file), '').gsub(directory + '/', '') } end end types end