class Graphy::Dsl
Attributes
diagram[RW]
Public Class Methods
new(name, options = {}, &block)
click to toggle source
# File lib/graphy/dsl.rb, line 5 def initialize(name, options = {}, &block) @diagram = Diagram.new(name, options, &block) instance_eval(&block) if block_given? end
Public Instance Methods
component(name, &block)
click to toggle source
# File lib/graphy/dsl.rb, line 14 def component(name, &block) node(name, shape: 'component', &block) end
entity(name, parent = nil, &block)
click to toggle source
# File lib/graphy/dsl.rb, line 27 def entity(name, parent = nil, &block) entity = Entity.new(name: name, diagram: diagram) entity.build(&block) entity.add_dependency(parent, color: 'blue') if parent end
namespace(name, &block)
click to toggle source
# File lib/graphy/dsl.rb, line 10 def namespace(name, &block) diagram.draw_graph(Dsl.new(name, { parent: diagram.graph }, &block).diagram) end
node(name, shape: 'circle', &block)
click to toggle source
# File lib/graphy/dsl.rb, line 22 def node(name, shape: 'circle', &block) options = {diagram: diagram, shape: shape} Node.for(name, **options).build(&block) end
note(name, &block)
click to toggle source
# File lib/graphy/dsl.rb, line 18 def note(name, &block) node(name, shape: 'note', &block) end
step(from, to:, **options)
click to toggle source
# File lib/graphy/dsl.rb, line 33 def step(from, to:, **options) Node.for(from, diagram: diagram).add_dependency(to, **options) end
write(options = {})
click to toggle source
# File lib/graphy/dsl.rb, line 37 def write(options = {}) diagram.write(options) end