Class: Graphy::Dsl
- Inherits:
-
Object
- Object
- Graphy::Dsl
- Defined in:
- lib/graphy/dsl.rb
Instance Attribute Summary collapse
-
#diagram ⇒ Object
Returns the value of attribute diagram.
Instance Method Summary collapse
- #component(name, &block) ⇒ Object
- #entity(name, parent = nil, &block) ⇒ Object
-
#initialize(name, options = {}, &block) ⇒ Dsl
constructor
A new instance of Dsl.
- #namespace(name, &block) ⇒ Object
- #node(name, shape: 'circle', &block) ⇒ Object
- #note(name, &block) ⇒ Object
- #step(from, to:, **options) ⇒ Object
- #write(options = {}) ⇒ Object
Constructor Details
Instance Attribute Details
#diagram ⇒ Object
Returns the value of attribute diagram.
3 4 5 |
# File 'lib/graphy/dsl.rb', line 3 def diagram @diagram end |
Instance Method Details
#component(name, &block) ⇒ Object
14 15 16 |
# File 'lib/graphy/dsl.rb', line 14 def component(name, &block) node(name, shape: 'component', &block) end |
#entity(name, parent = nil, &block) ⇒ Object
27 28 29 30 31 |
# 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) ⇒ Object
10 11 12 |
# 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) ⇒ Object
22 23 24 25 |
# File 'lib/graphy/dsl.rb', line 22 def node(name, shape: 'circle', &block) = {diagram: diagram, shape: shape} Node.for(name, **).build(&block) end |
#note(name, &block) ⇒ Object
18 19 20 |
# File 'lib/graphy/dsl.rb', line 18 def note(name, &block) node(name, shape: 'note', &block) end |
#step(from, to:, **options) ⇒ Object
33 34 35 |
# File 'lib/graphy/dsl.rb', line 33 def step(from, to:, **) Node.for(from, diagram: diagram).add_dependency(to, **) end |
#write(options = {}) ⇒ Object
37 38 39 |
# File 'lib/graphy/dsl.rb', line 37 def write( = {}) diagram.write() end |