Class: Teapot::Command::Visualize::Packages

Inherits:
Selection
  • Object
show all
Defined in:
lib/teapot/command/visualize.rb

Overview

Visualize package-level dependencies.

Instance Method Summary collapse

Methods inherited from Selection

#call, #selection, #targets

Instance Method Details

#dependency_nameObject

Get the specific dependency name to visualize.



27
28
29
# File 'lib/teapot/command/visualize.rb', line 27

def dependency_name
	@options[:dependency_name]
end

#process(selection) ⇒ Object

Process and generate the package dependency visualization.



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/teapot/command/visualize.rb', line 34

def process(selection)
	chain = selection.chain
	
	if dependency_name
		provider = selection.dependencies[dependency_name]
		chain = chain.partial(provider)
	end
	
	visualization = ::Build::Dependency::Visualization.new
	diagram = visualization.generate(chain)
	
	if output_path = @options[:output_path]
		File.write(output_path, diagram)
	else
		$stdout.puts diagram
	end
	
	return diagram
end