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