class MotionBlender::RakeTasks

Public Instance Methods

analyze() click to toggle source
# File lib/motion_blender/rake_tasks.rb, line 14
def analyze
  analyzer = Analyzer.new
  files = config.incepted_files + Motion::Project::App.config.files
  files.flatten.each do |file|
    analyzer.analyze file
  end
  analyzer
end
apply() click to toggle source
# File lib/motion_blender/rake_tasks.rb, line 23
def apply
  analyzer = analyze
  verify_dependencies analyzer.dependencies
  Motion::Project::App.setup do |app|
    new_files = analyzer.files - app.files
    app.exclude_from_detect_dependencies += new_files
    app.files = new_files + app.files
    app.files -= app.spec_files
    app.files_dependencies analyzer.dependencies
  end
end
config() click to toggle source
# File lib/motion_blender/rake_tasks.rb, line 10
def config
  MotionBlender.config
end
dump() click to toggle source
# File lib/motion_blender/rake_tasks.rb, line 35
def dump
  analyzer = analyze
  YAML.dump %w(files dependencies).map { |k| [k, analyzer.send(k)] }.to_h
end
graph(options = {}) click to toggle source
# File lib/motion_blender/rake_tasks.rb, line 40
def graph options = {}
  analyzer = analyze
  graph_maker = GraphMaker.new analyzer.dependencies, options
  graph_maker.title = Motion::Project::App.config.name
  graph_maker.build
  Motion::Project::App.info('Create', graph_maker.output)
end

Private Instance Methods

verify_dependencies(hash) click to toggle source
# File lib/motion_blender/rake_tasks.rb, line 50
def verify_dependencies hash
  DependencyGraph[hash].tsort
end