module SweetLoader::ClassMethods
Attributes
default_mode[W]
Public Instance Methods
default_mode()
click to toggle source
# File lib/sweetloader/class_methods.rb, line 49 def default_mode valid_modes.first end
mode()
click to toggle source
# File lib/sweetloader/class_methods.rb, line 33 def mode @mode || default_mode end
mode=(mode)
click to toggle source
# File lib/sweetloader/class_methods.rb, line 37 def mode= mode @mode = mode if valid_mode? mode end
namespaces()
click to toggle source
# File lib/sweetloader/class_methods.rb, line 24 def namespaces @namespaces ||= {} end
namespaces=(namespaces)
click to toggle source
# File lib/sweetloader/class_methods.rb, line 28 def namespaces= namespaces raise ArgumentError, "Must be a Hash, was: #{namespaces}" if !namespaces.kind_of?(Hash) @namespaces = namespaces end
root()
click to toggle source
# File lib/sweetloader/class_methods.rb, line 15 def root @root ||= '' end
root=(root)
click to toggle source
# File lib/sweetloader/class_methods.rb, line 19 def root= root raise ArgumentError, "Must be a String, was: #{root}" if !root.kind_of?(String) @root = root end
translate(name, options = {})
click to toggle source
# File lib/sweetloader/class_methods.rb, line 5 def translate name, options = {} names = name.split('/') ns = namespaces.merge(options[:namespaces] || options[:ns] || {}) names.map do |name| clazz_name = name.to_s.camelize folder = ns[clazz_name.to_sym] ? ns[clazz_name.to_sym] : name folder.sub /\/$/, '' end.join('/') end
valid_mode?(mode)
click to toggle source
# File lib/sweetloader/class_methods.rb, line 41 def valid_mode? mode valid_modes.include? mode end
valid_modes()
click to toggle source
# File lib/sweetloader/class_methods.rb, line 45 def valid_modes [:autoload, :require] end