module MotionBlender::Interpreters::Requirable

Public Instance Methods

find_require(arg) click to toggle source
# File lib/motion_blender/interpreters/requirable.rb, line 12
def find_require arg
  return if excluded_arg? arg

  req = Require.new(file, method, arg)
  req.file = resolve_path req.arg
  return if excluded_file? req.file

  req
end
resolve_path(arg) click to toggle source
# File lib/motion_blender/interpreters/requirable.rb, line 22
def resolve_path arg
  path = candidates(arg).find(&:file?)
  raise LoadError, "not found `#{arg}'" unless path
  explicit_relative path
end

Private Instance Methods

excluded_arg?(arg) click to toggle source
# File lib/motion_blender/interpreters/requirable.rb, line 30
def excluded_arg? arg
  MotionBlender.config.builtin_features.include?(arg) ||
    MotionBlender.config.excepted_files.include?(arg)
end
excluded_file?(file) click to toggle source
# File lib/motion_blender/interpreters/requirable.rb, line 35
def excluded_file? file
  MotionBlender.config.excepted_files.include?(file)
end
explicit_relative(path) click to toggle source
# File lib/motion_blender/interpreters/requirable.rb, line 39
def explicit_relative path
  path.to_s.sub(%r{^(?![\./])}, './')
end