astral1/rails-webpack

View on GitHub
lib/tasks/files/tasks.coffee

Summary

Maintainability
Test Coverage
load_tasks = (gulp, plugins, options) ->
  walk_sync = require 'walk-sync'
  path = require 'path'
  options ||= {}
  options['root'] ||= __dirname
  options['dependencies'] ||= {}

  nodes = walk_sync('./tasks', { globs: ['**/*.coffee'] });

  for node in nodes
    ext = path.extname node
    name = node.replace ext, ''
    if options.dependencies[name] instanceof Array
      gulp.task name, options.dependencies[name], require(['./tasks', name].join('/'))(gulp, plugins, options.root)
    else
      gulp.task name, require(['./tasks', name].join('/'))(gulp, plugins, options.root)

module.exports = load_tasks