visualize_packwerk 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +32 -0
  3. data/lib/visualize_packwerk/graph_interface.rb +17 -0
  4. data/lib/visualize_packwerk/node_interface.rb +29 -0
  5. data/lib/visualize_packwerk/package_graph.rb +48 -0
  6. data/lib/visualize_packwerk/package_node.rb +28 -0
  7. data/lib/visualize_packwerk/package_relationships.rb +158 -0
  8. data/lib/visualize_packwerk/railtie.rb +15 -0
  9. data/lib/visualize_packwerk/tasks/visualize_packwerk.rake +73 -0
  10. data/lib/visualize_packwerk/team_graph.rb +52 -0
  11. data/lib/visualize_packwerk/team_node.rb +27 -0
  12. data/lib/visualize_packwerk.rb +17 -0
  13. data/sorbet/config +2 -0
  14. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +76 -0
  15. data/sorbet/rbi/gems/ast@2.4.2.rbi +522 -0
  16. data/sorbet/rbi/gems/code_ownership@1.28.0.rbi +411 -0
  17. data/sorbet/rbi/gems/code_teams@1.0.0.rbi +138 -0
  18. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  19. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +8 -0
  20. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +866 -0
  21. data/sorbet/rbi/gems/i18n@1.12.0.rbi +8 -0
  22. data/sorbet/rbi/gems/json@2.6.2.rbi +1423 -0
  23. data/sorbet/rbi/gems/method_source@1.0.0.rbi +8 -0
  24. data/sorbet/rbi/gems/minitest@5.16.2.rbi +9 -0
  25. data/sorbet/rbi/gems/package_protections@1.3.0.rbi +654 -0
  26. data/sorbet/rbi/gems/parallel@1.22.1.rbi +163 -0
  27. data/sorbet/rbi/gems/parse_packwerk@0.11.0.rbi +148 -0
  28. data/sorbet/rbi/gems/parser@3.1.2.0.rbi +4261 -0
  29. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  30. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +8 -0
  31. data/sorbet/rbi/gems/rake@13.0.6.rbi +1854 -0
  32. data/sorbet/rbi/gems/rbi@0.0.15.rbi +2340 -0
  33. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +8 -0
  34. data/sorbet/rbi/gems/rexml@3.2.5.rbi +8 -0
  35. data/sorbet/rbi/gems/rspec-core@3.11.0.rbi +7698 -0
  36. data/sorbet/rbi/gems/rspec-expectations@3.11.0.rbi +6201 -0
  37. data/sorbet/rbi/gems/rspec-mocks@3.11.1.rbi +3625 -0
  38. data/sorbet/rbi/gems/rspec-support@3.11.0.rbi +1176 -0
  39. data/sorbet/rbi/gems/rspec@3.11.0.rbi +40 -0
  40. data/sorbet/rbi/gems/rubocop-ast@1.19.1.rbi +8 -0
  41. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +8 -0
  42. data/sorbet/rbi/gems/rubocop@1.33.0.rbi +8 -0
  43. data/sorbet/rbi/gems/ruby-graphviz@1.2.5.rbi +840 -0
  44. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +8 -0
  45. data/sorbet/rbi/gems/spoom@1.1.11.rbi +1600 -0
  46. data/sorbet/rbi/gems/tapioca@0.8.3.rbi +1978 -0
  47. data/sorbet/rbi/gems/thor@1.2.1.rbi +2921 -0
  48. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +8 -0
  49. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +8 -0
  50. data/sorbet/rbi/gems/unparser@0.6.5.rbi +8 -0
  51. data/sorbet/rbi/gems/webrick@1.7.0.rbi +1802 -0
  52. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +288 -0
  53. data/sorbet/rbi/gems/yard@0.9.28.rbi +12863 -0
  54. data/sorbet/tapioca/config.yml +13 -0
  55. data/sorbet/tapioca/require.rb +7 -0
  56. metadata +241 -0
@@ -0,0 +1,840 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `ruby-graphviz` gem.
5
+ # Please instead update this file by running `bin/tapioca gem ruby-graphviz`.
6
+
7
+ ::RUBY19 = T.let(T.unsafe(nil), TrueClass)
8
+ class AttributeException < ::RuntimeError; end
9
+ class BoolException < ::RuntimeError; end
10
+ class ColorException < ::RuntimeError; end
11
+
12
+ class Dot2Ruby
13
+ include ::GraphViz::Utils
14
+
15
+ # @return [Dot2Ruby] a new instance of Dot2Ruby
16
+ def initialize(xGVPath, xOutFile, xOutFormat = T.unsafe(nil)); end
17
+
18
+ def eval(xFile); end
19
+ def eval_string(data); end
20
+ def run(xFile); end
21
+ end
22
+
23
+ class DoubleException < ::RuntimeError; end
24
+
25
+ # Constants for ruby-graphviz
26
+ #
27
+ # GraphViz::Constants::FORMATS: the possible output formats
28
+ # "bmp", "canon", "dot", "xdot", "cmap", "dia", "eps",
29
+ # "fig", "gd", "gd2", "gif", "gtk", "hpgl", "ico", "imap",
30
+ # "cmapx", "imap_np", "cmapx_np", "ismap", "jpeg", "jpg",
31
+ # "jpe", "mif", "mp", "pcl", "pdf", "pic", "plain",
32
+ # "plain-ext", "png", "ps", "ps2", "svg", "svgz", "tga",
33
+ # "tiff", "tif", "vml", "vmlz", "vrml", "vtx", "wbmp",
34
+ # "xlib", "none"
35
+ #
36
+ # GraphViz::Constants::PROGRAMS: The possible programs
37
+ # "dot", "neato", "twopi", "fdp", "circo"
38
+ #
39
+ # GraphViz::Constants::GRAPHTYPE The possible types of graph
40
+ # "digraph", "graph"
41
+ #
42
+ #
43
+ # The single letter codes used in constructors map as follows:
44
+ # G => The root graph, with GRAPHATTRS
45
+ # E => Edge, with EDGESATTRS
46
+ # N => Node, with NODESATTRS
47
+ # S => subgraph
48
+ # C => cluster
49
+ class GraphViz
50
+ include ::GraphViz::Constants
51
+ include ::GraphViz::Utils
52
+
53
+ # Create a new graph object
54
+ #
55
+ # Options :
56
+ # * :output : Output format (GraphViz::Constants::FORMATS) (default : dot)
57
+ # * :file : Output file name (default : nil)
58
+ # * :use : Program to use (GraphViz::Constants::PROGRAMS) (default : dot)
59
+ # * :path : Program PATH
60
+ # * :parent : Parent graph (default : nil)
61
+ # * :type : Graph type (GraphViz::Constants::GRAPHTYPE) (default : digraph)
62
+ # * :errors : DOT error level (default 1)
63
+ # * 0 = Error + Warning
64
+ # * 1 = Error
65
+ # * 2 = none
66
+ #
67
+ # @return [GraphViz] a new instance of GraphViz
68
+ # @yield [_self]
69
+ # @yieldparam _self [GraphViz] the object that the method was called on
70
+ def initialize(xGraphName, hOpts = T.unsafe(nil), &block); end
71
+
72
+ # Create an edge between the current cluster and the node or cluster +oNode+
73
+ #
74
+ # @raise [ArgumentError]
75
+ def -(oNode); end
76
+
77
+ # Create an edge between the current cluster and the node or cluster +oNode+
78
+ #
79
+ # @raise [ArgumentError]
80
+ def <<(oNode); end
81
+
82
+ # Create an edge between the current cluster and the node or cluster +oNode+
83
+ #
84
+ # @raise [ArgumentError]
85
+ def >(oNode); end
86
+
87
+ # Create an edge between the current cluster and the node or cluster +oNode+
88
+ #
89
+ # @raise [ArgumentError]
90
+ def >>(oNode); end
91
+
92
+ # Get the value of the graph attribute +xAttrName+
93
+ def [](xAttrName); end
94
+
95
+ # Set value +xValue+ to the graph attribute +xAttrName+
96
+ def []=(xAttrName, xValue); end
97
+
98
+ # Add nodes and edges defined by a Hash
99
+ def add(h); end
100
+
101
+ def add_edge(oNodeOne, oNodeTwo, hOpts = T.unsafe(nil)); end
102
+
103
+ # Create a new edge
104
+ #
105
+ # In:
106
+ # * node_one : First node (or node list)
107
+ # * node_two : Second Node (or node list)
108
+ # * options : Edge attributes
109
+ def add_edges(node_one, node_two, options = T.unsafe(nil)); end
110
+
111
+ # Create a new graph
112
+ #
113
+ # In:
114
+ # * xGraphName : Graph name
115
+ # * hOpts : Graph attributes
116
+ def add_graph(xGraphName = T.unsafe(nil), hOpts = T.unsafe(nil), &block); end
117
+
118
+ def add_node(xNodeName, hOpts = T.unsafe(nil)); end
119
+
120
+ # Create a new node
121
+ #
122
+ # In:
123
+ # * xNodeName : Name of the new node
124
+ # * hOpts : Node attributes
125
+ #
126
+ # Return the GraphViz::Node object created
127
+ def add_nodes(node_name, options = T.unsafe(nil)); end
128
+
129
+ def append_attributes_and_types(script); end
130
+
131
+ # Return a new completed graph
132
+ def complete; end
133
+
134
+ # Complete the current graph
135
+ def complete!; end
136
+
137
+ # Return true if the graph is directed.
138
+ #
139
+ # @return [Boolean]
140
+ def directed?; end
141
+
142
+ def each_attribut(&b); end
143
+
144
+ # Calls block once for each attribute of the graph, passing the name and value to the
145
+ # block as a two-element array.
146
+ def each_attribute(&b); end
147
+
148
+ # Allow you to traverse edges
149
+ def each_edge(&block); end
150
+
151
+ # Allow you to traverse graphs
152
+ def each_graph(&block); end
153
+
154
+ # Allow you to traverse nodes
155
+ def each_node(&block); end
156
+
157
+ # This accessor allow you to set global edges attributes
158
+ def edge; end
159
+
160
+ # This accessor allow you to set global edges attributes
161
+ def edge=(_arg0); end
162
+
163
+ # This accessor allow you to set global edges attributes
164
+ def edge_attrs; end
165
+
166
+ # Get the number of edges
167
+ def edge_count; end
168
+
169
+ def enumerate_nodes; end
170
+
171
+ # Returns the first node found in the entire graph, starting from the root graph
172
+ def find_node(name); end
173
+
174
+ # Return the edge object for the given index
175
+ def get_edge_at_index(index); end
176
+
177
+ # Return the graph object for the given name (or nil)
178
+ #
179
+ # @yield [graph]
180
+ def get_graph(xGraphName, &block); end
181
+
182
+ # Return the node object for the given name (or nil) in the current graph
183
+ #
184
+ # @yield [node]
185
+ def get_node(xNodeName, &block); end
186
+
187
+ # Return the node object for the given index
188
+ def get_node_at_index(index); end
189
+
190
+ # This accessor allow you to set global graph attributes
191
+ def graph; end
192
+
193
+ # This accessor allow you to set global graph attributes
194
+ def graph=(_arg0); end
195
+
196
+ # This accessor allow you to set global graph attributes
197
+ def graph_attrs; end
198
+
199
+ # Get the number of graphs
200
+ def graph_count; end
201
+
202
+ # @return [Boolean]
203
+ def has_parent_graph?; end
204
+
205
+ # Get the graph name
206
+ def id; end
207
+
208
+ def method_missing(idName, *args, &block); end
209
+
210
+ # Get the graph name
211
+ def name; end
212
+
213
+ # This accessor allow you to set global nodes attributes
214
+ def node; end
215
+
216
+ # This accessor allow you to set global nodes attributes
217
+ def node=(_arg0); end
218
+
219
+ # This accessor allow you to set global nodes attributes
220
+ def node_attrs; end
221
+
222
+ # Get the number of nodes
223
+ def node_count; end
224
+
225
+ # Generate the graph
226
+ #
227
+ # Options :
228
+ # * :output : Output format (GraphViz::Constants::FORMATS)
229
+ # * :file : Output file name
230
+ # * :use : Program to use (GraphViz::Constants::PROGRAMS)
231
+ # * :path : Program PATH
232
+ # * :<format> => <file> : <file> can be
233
+ # * a file name
234
+ # * nil, then the output will be printed to STDOUT
235
+ # * String, then the output will be returned as a String
236
+ # * :errors : DOT error level (default 1)
237
+ # * 0 = Error + Warning
238
+ # * 1 = Error
239
+ # * 2 = none
240
+ def output(hOpts = T.unsafe(nil)); end
241
+
242
+ def pg; end
243
+ def pg=(x); end
244
+
245
+ # Return the root graph
246
+ def root_graph; end
247
+
248
+ # Generate the graph
249
+ #
250
+ # Options :
251
+ # * :output : Output format (GraphViz::Constants::FORMATS)
252
+ # * :file : Output file name
253
+ # * :use : Program to use (GraphViz::Constants::PROGRAMS)
254
+ # * :path : Program PATH
255
+ # * :<format> => <file> : <file> can be
256
+ # * a file name
257
+ # * nil, then the output will be printed to STDOUT
258
+ # * String, then the output will be returned as a String
259
+ # * :errors : DOT error level (default 1)
260
+ # * 0 = Error + Warning
261
+ # * 1 = Error
262
+ # * 2 = none
263
+ def save(hOpts = T.unsafe(nil)); end
264
+
265
+ # Return the first node found in the current graph, and it subgraphs
266
+ def search_node(name); end
267
+
268
+ def set_position(xType, xKey, xValue); end
269
+
270
+ # Create a new graph
271
+ #
272
+ # In:
273
+ # * xGraphName : Graph name
274
+ # * hOpts : Graph attributes
275
+ def subgraph(xGraphName = T.unsafe(nil), hOpts = T.unsafe(nil), &block); end
276
+
277
+ # Create a new graph from the current subgraph
278
+ def to_graph; end
279
+
280
+ def to_s; end
281
+
282
+ # Return the graph type (graph digraph)
283
+ def type; end
284
+
285
+ def type=(x); end
286
+
287
+ private
288
+
289
+ # Edge between a node and a Hash
290
+ # Used by GraphViz#add
291
+ def add_hash_edge(node, hash); end
292
+
293
+ class << self
294
+ def commonGraph(o1, o2); end
295
+
296
+ # Change default options (:use, :path, :errors and :output)
297
+ def default(hOpts); end
298
+
299
+ # Create a new directed graph
300
+ #
301
+ # See also GraphViz::new
302
+ def digraph(xGraphName, hOpts = T.unsafe(nil), &block); end
303
+
304
+ # Escape a string to be acceptable as a node name in a graphviz input file
305
+ def escape(str, opts = T.unsafe(nil)); end
306
+
307
+ # Create a random graph.
308
+ def generate(num_nodes, num_edges, directed = T.unsafe(nil), weight_range = T.unsafe(nil)); end
309
+
310
+ # Create a new undirected graph
311
+ #
312
+ # See also GraphViz::new
313
+ def graph(xGraphName, hOpts = T.unsafe(nil), &block); end
314
+
315
+ def options(hOpts); end
316
+
317
+ # Create a new graph from a GraphViz File
318
+ #
319
+ # Options :
320
+ # * :output : Output format (GraphViz::Constants::FORMATS) (default : dot)
321
+ # * :file : Output file name (default : none)
322
+ # * :use : Program to use (GraphViz::Constants::PROGRAMS) (default : dot)
323
+ # * :path : Program PATH
324
+ #
325
+ # @yield [graph]
326
+ def parse(xFile, hOpts = T.unsafe(nil), &block); end
327
+
328
+ # Create a new graph from a GraphViz File
329
+ #
330
+ # Options :
331
+ # * :output : Output format (GraphViz::Constants::FORMATS) (default : dot)
332
+ # * :file : Output file name (default : none)
333
+ # * :use : Program to use (GraphViz::Constants::PROGRAMS) (default : dot)
334
+ # * :path : Program PATH
335
+ #
336
+ # @yield [graph]
337
+ def parse_string(str, hOpts = T.unsafe(nil), &block); end
338
+
339
+ # Create a new strict directed graph
340
+ #
341
+ # See also GraphViz::new
342
+ def strict_digraph(xGraphName, hOpts = T.unsafe(nil), &block); end
343
+ end
344
+ end
345
+
346
+ class GraphViz::Attrs
347
+ # @return [Attrs] a new instance of Attrs
348
+ def initialize(gviz, name, attributes); end
349
+
350
+ def [](key); end
351
+ def []=(key, value); end
352
+
353
+ # Returns the value of attribute data.
354
+ def data; end
355
+
356
+ # Sets the attribute data
357
+ #
358
+ # @param value the value to set the attribute data to.
359
+ def data=(_arg0); end
360
+
361
+ def each; end
362
+ def to_h; end
363
+ end
364
+
365
+ module GraphViz::Constants
366
+ class << self
367
+ def getAttrsFor(x); end
368
+ end
369
+ end
370
+
371
+ # Const: Edge attributes
372
+ GraphViz::Constants::EDGESATTRS = T.let(T.unsafe(nil), Hash)
373
+
374
+ # Const: Output formats
375
+ GraphViz::Constants::FORMATS = T.let(T.unsafe(nil), Array)
376
+
377
+ # E, N, G, S and C represent edges, nodes, the root graph, subgraphs and cluster subgraphs, respectively
378
+ GraphViz::Constants::GENCS_ATTRS = T.let(T.unsafe(nil), Hash)
379
+
380
+ # Const: Graph attributes
381
+ GraphViz::Constants::GRAPHSATTRS = T.let(T.unsafe(nil), Hash)
382
+
383
+ # Const: graphs type
384
+ GraphViz::Constants::GRAPHTYPE = T.let(T.unsafe(nil), Array)
385
+
386
+ # Const: Node attributes
387
+ GraphViz::Constants::NODESATTRS = T.let(T.unsafe(nil), Hash)
388
+
389
+ # Const: programs
390
+ GraphViz::Constants::PROGRAMS = T.let(T.unsafe(nil), Array)
391
+
392
+ GraphViz::Constants::RGV_VERSION = T.let(T.unsafe(nil), String)
393
+
394
+ class GraphViz::DOTScript
395
+ extend ::Forwardable
396
+
397
+ # @return [DOTScript] a new instance of DOTScript
398
+ def initialize; end
399
+
400
+ def <<(line); end
401
+ def add_type(type, data); end
402
+ def append(line); end
403
+ def end_with?(*args, &block); end
404
+ def make_subgraph(name); end
405
+ def prepend(line); end
406
+ def to_s; end
407
+ def to_str; end
408
+
409
+ private
410
+
411
+ def append_statement(statement); end
412
+ def assure_ends_with(str, ending = T.unsafe(nil)); end
413
+ end
414
+
415
+ class GraphViz::DOTScriptData
416
+ # @return [DOTScriptData] a new instance of DOTScriptData
417
+ def initialize(type = T.unsafe(nil)); end
418
+
419
+ def <<(data); end
420
+ def add_attribute(name, value); end
421
+ def append(data); end
422
+
423
+ # @return [Boolean]
424
+ def empty?; end
425
+
426
+ def to_s; end
427
+ def to_str; end
428
+
429
+ # Returns the value of attribute type.
430
+ def type; end
431
+
432
+ # Sets the attribute type
433
+ #
434
+ # @param value the value to set the attribute type to.
435
+ def type=(_arg0); end
436
+
437
+ private
438
+
439
+ def determine_separator; end
440
+ end
441
+
442
+ class GraphViz::Edge
443
+ include ::GraphViz::Constants
444
+
445
+ # Create a new edge
446
+ #
447
+ # In:
448
+ # * vNodeOne : First node (can be a GraphViz::Node or a node ID)
449
+ # * vNodeTwo : Second node (can be a GraphViz::Node or a node ID)
450
+ # * parent_graph : Graph
451
+ #
452
+ # @return [Edge] a new instance of Edge
453
+ def initialize(vNodeOne, vNodeTwo, parent_graph); end
454
+
455
+ def -(node); end
456
+ def <<(node); end
457
+ def >(node); end
458
+ def >>(node); end
459
+
460
+ # Set values for edge attributes or
461
+ # get the value of the given edge attribute +attribute_name+
462
+ def [](attribute_name); end
463
+
464
+ # Set value +attribute_value+ to the edge attribute +attribute_name+
465
+ def []=(attribute_name, attribute_value); end
466
+
467
+ def each_attribut(global = T.unsafe(nil), &b); end
468
+
469
+ # Calls block once for each attribute of the edge, passing the name and value to the
470
+ # block as a two-element array.
471
+ #
472
+ # If global is set to false, the block does not receive the attributes set globally
473
+ def each_attribute(global = T.unsafe(nil), &b); end
474
+
475
+ # Return the node two as string (so with port if any)
476
+ def head_node(with_port = T.unsafe(nil), escaped = T.unsafe(nil)); end
477
+
478
+ # Return the index of the edge
479
+ def index; end
480
+
481
+ def index=(i); end
482
+
483
+ # Add edge options
484
+ # use edge.<option>=<value> or edge.<option>( <value> )
485
+ def method_missing(idName, *args, &block); end
486
+
487
+ # Return the node one as string (so with port if any)
488
+ def node_one(with_port = T.unsafe(nil), escaped = T.unsafe(nil)); end
489
+
490
+ # Return the node two as string (so with port if any)
491
+ def node_two(with_port = T.unsafe(nil), escaped = T.unsafe(nil)); end
492
+
493
+ def output(oGraphType); end
494
+ def pg; end
495
+
496
+ # Return the root graph
497
+ def root_graph; end
498
+
499
+ # Set edge attributes
500
+ #
501
+ # Example :
502
+ # e = graph.add_edges( ... )
503
+ # ...
504
+ # e.set { |_e|
505
+ # _e.color = "blue"
506
+ # _e.fontcolor = "red"
507
+ # }
508
+ #
509
+ # @yield [_self]
510
+ # @yieldparam _self [GraphViz::Edge] the object that the method was called on
511
+ def set(&b); end
512
+
513
+ # Return the node one as string (so with port if any)
514
+ def tail_node(with_port = T.unsafe(nil), escaped = T.unsafe(nil)); end
515
+
516
+ private
517
+
518
+ def getNodeNameAndPort(node); end
519
+ end
520
+
521
+ class GraphViz::Elements
522
+ # @return [Elements] a new instance of Elements
523
+ def initialize; end
524
+
525
+ def [](index, type = T.unsafe(nil)); end
526
+ def each(&b); end
527
+ def push(obj); end
528
+ def size_of(type); end
529
+ end
530
+
531
+ class GraphViz::Ext
532
+ class << self
533
+ def find(ext = T.unsafe(nil)); end
534
+ end
535
+ end
536
+
537
+ class GraphViz::Node
538
+ include ::GraphViz::Constants
539
+
540
+ # Create a new node
541
+ #
542
+ # * node_id : ID of the node
543
+ # * parent_graph : Graph
544
+ #
545
+ # @return [Node] a new instance of Node
546
+ def initialize(node_id, parent_graph); end
547
+
548
+ # Create an edge between the current node and the node +node+
549
+ def -(node); end
550
+
551
+ # Create an edge between the current node and the node +node+
552
+ def <<(node); end
553
+
554
+ # Create an edge between the current node and the node +node+
555
+ def >(node); end
556
+
557
+ # Create an edge between the current node and the node +node+
558
+ def >>(node); end
559
+
560
+ # Get the value of the node attribute +attribute_name+
561
+ def [](attribute_name); end
562
+
563
+ # Set value +attribute_value+ to the node attribute +attribute_name+
564
+ def []=(attribute_name, attribute_value); end
565
+
566
+ def each_attribut(global = T.unsafe(nil), &b); end
567
+
568
+ # Calls block once for each attribute of the node, passing the name and value to the
569
+ # block as a two-element array.
570
+ #
571
+ # If global is set to false, the block does not receive the attributes set globally
572
+ def each_attribute(global = T.unsafe(nil), &b); end
573
+
574
+ # Get the node ID
575
+ def id; end
576
+
577
+ # List of nodes that are incident to the given node (in a directed graph neighbors == incidents)
578
+ def incidents; end
579
+
580
+ # Return the node index
581
+ def index; end
582
+
583
+ def index=(i); end
584
+
585
+ # Add node options
586
+ # use node.<option>=<value> or node.<option>( <value> )
587
+ def method_missing(idName, *args, &block); end
588
+
589
+ # List of nodes that are directly accessible from given node (in a directed graph neighbors == incidents)
590
+ def neighbors; end
591
+
592
+ def output; end
593
+ def pg; end
594
+
595
+ # Return the root graph
596
+ def root_graph; end
597
+
598
+ # Set node attributes
599
+ #
600
+ # Example :
601
+ # n = graph.add_nodes( ... )
602
+ # ...
603
+ # n.set { |_n|
604
+ # _n.color = "blue"
605
+ # _n.fontcolor = "red"
606
+ # }
607
+ #
608
+ # @yield [_self]
609
+ # @yieldparam _self [GraphViz::Node] the object that the method was called on
610
+ def set(&b); end
611
+ end
612
+
613
+ class GraphViz::Types; end
614
+
615
+ class GraphViz::Types::ArrowType < ::GraphViz::Types::Common
616
+ def check(data); end
617
+ def output; end
618
+ def to_gv; end
619
+ def to_ruby; end
620
+ def to_s; end
621
+ end
622
+
623
+ class GraphViz::Types::Color < ::GraphViz::Types::Common
624
+ def check(data); end
625
+ def output; end
626
+ def to_gv; end
627
+ def to_ruby; end
628
+ def to_s; end
629
+ end
630
+
631
+ GraphViz::Types::Color::HEX_FOR_COLOR = T.let(T.unsafe(nil), Regexp)
632
+ GraphViz::Types::Color::RGBA = T.let(T.unsafe(nil), Regexp)
633
+
634
+ class GraphViz::Types::ColorList < ::GraphViz::Types::Common
635
+ def check(data); end
636
+ def output; end
637
+ def to_gv; end
638
+ def to_ruby; end
639
+ def to_s; end
640
+ end
641
+
642
+ class GraphViz::Types::Common
643
+ # @return [Common] a new instance of Common
644
+ def initialize(data); end
645
+
646
+ def output; end
647
+ def source; end
648
+ end
649
+
650
+ class GraphViz::Types::EscString < ::GraphViz::Types::Common
651
+ def check(data); end
652
+ def output; end
653
+ def to_gv; end
654
+ def to_ruby; end
655
+ def to_s; end
656
+ end
657
+
658
+ class GraphViz::Types::GvBool < ::GraphViz::Types::Common
659
+ # @raise [BoolException]
660
+ def check(data); end
661
+
662
+ def output; end
663
+ def to_gv; end
664
+ def to_ruby; end
665
+ def to_s; end
666
+ end
667
+
668
+ GraphViz::Types::GvBool::BOOL_FALSE = T.let(T.unsafe(nil), Array)
669
+ GraphViz::Types::GvBool::BOOL_TRUE = T.let(T.unsafe(nil), Array)
670
+
671
+ class GraphViz::Types::GvDouble < ::GraphViz::Types::Common
672
+ # @raise [DoubleException]
673
+ def check(data); end
674
+
675
+ def output; end
676
+ def to_f; end
677
+ def to_gv; end
678
+ def to_ruby; end
679
+ def to_s; end
680
+ end
681
+
682
+ GraphViz::Types::GvDouble::FLOAT_MASK = T.let(T.unsafe(nil), Regexp)
683
+
684
+ class GraphViz::Types::HtmlString < ::GraphViz::Types::Common
685
+ def check(data); end
686
+ def output; end
687
+ def to_gv; end
688
+ def to_ruby; end
689
+ def to_s; end
690
+ end
691
+
692
+ class GraphViz::Types::LblString < ::GraphViz::Types::Common
693
+ def check(data); end
694
+ def output; end
695
+ def to_gv; end
696
+ def to_ruby; end
697
+ def to_s; end
698
+ end
699
+
700
+ class GraphViz::Types::Rect < ::GraphViz::Types::Common
701
+ # @raise [RectException]
702
+ def check(data); end
703
+
704
+ def output; end
705
+ def to_gv; end
706
+ def to_ruby; end
707
+ def to_s; end
708
+ end
709
+
710
+ GraphViz::Types::Rect::FLOAT_MASK = T.let(T.unsafe(nil), Regexp)
711
+ GraphViz::Types::Rect::RECT_FINAL_MASK = T.let(T.unsafe(nil), Regexp)
712
+
713
+ class GraphViz::Types::SplineType < ::GraphViz::Types::Common
714
+ # @raise [SplineTypeException]
715
+ def check(data); end
716
+
717
+ def endp; end
718
+ def output; end
719
+ def point; end
720
+ def startp; end
721
+ def to_gv; end
722
+ def to_s; end
723
+ def triples; end
724
+
725
+ private
726
+
727
+ # @return [Boolean]
728
+ def point?; end
729
+
730
+ # @return [Boolean]
731
+ def splite_type?; end
732
+ end
733
+
734
+ GraphViz::Types::SplineType::ENDP_MASK = T.let(T.unsafe(nil), Regexp)
735
+ GraphViz::Types::SplineType::FINAL_POINT_MASK = T.let(T.unsafe(nil), Regexp)
736
+ GraphViz::Types::SplineType::FINAL_SPLINE_MASK = T.let(T.unsafe(nil), Regexp)
737
+ GraphViz::Types::SplineType::FLOAT_MASK = T.let(T.unsafe(nil), Regexp)
738
+ GraphViz::Types::SplineType::POINT_MASK = T.let(T.unsafe(nil), Regexp)
739
+ GraphViz::Types::SplineType::SPLINE_MASK = T.let(T.unsafe(nil), Regexp)
740
+ GraphViz::Types::SplineType::STARTP_MASK = T.let(T.unsafe(nil), Regexp)
741
+ GraphViz::Types::SplineType::TRIPLE_MASK = T.let(T.unsafe(nil), Regexp)
742
+
743
+ module GraphViz::Utils
744
+ def find_executable(bin, custom_paths); end
745
+ def output_and_errors_from_command(cmd); end
746
+ def output_from_command(cmd); end
747
+ end
748
+
749
+ class GraphViz::Utils::Colors
750
+ # @return [Colors] a new instance of Colors
751
+ def initialize; end
752
+
753
+ # Returns the value of attribute a.
754
+ def a; end
755
+
756
+ # Returns the value of attribute b.
757
+ def b; end
758
+
759
+ # Returns the value of attribute g.
760
+ def g; end
761
+
762
+ # Returns the value of attribute h.
763
+ def h; end
764
+
765
+ def hsv(h, s, v); end
766
+ def hsv_string(s = T.unsafe(nil)); end
767
+ def hsv_to_rgb(h, s, v); end
768
+ def name(c = T.unsafe(nil)); end
769
+
770
+ # Returns the value of attribute r.
771
+ def r; end
772
+
773
+ def rgb(r, g, b, a = T.unsafe(nil)); end
774
+ def rgb_to_hsv(r, g, b); end
775
+ def rgba_string(c = T.unsafe(nil)); end
776
+
777
+ # Returns the value of attribute s.
778
+ def s; end
779
+
780
+ # Returns the value of attribute v.
781
+ def v; end
782
+
783
+ class << self
784
+ def hsv(h, s, v); end
785
+ def hsv_to_rgb(h, s, v); end
786
+ def name(c); end
787
+ def rgb(r, g, b, a = T.unsafe(nil)); end
788
+ def rgb_to_hsv(r, g, b); end
789
+ end
790
+ end
791
+
792
+ GraphViz::Utils::Colors::COLORS = T.let(T.unsafe(nil), Hash)
793
+ GraphViz::Utils::Colors::HEX_FOR_COLOR = T.let(T.unsafe(nil), Regexp)
794
+ GraphViz::Utils::Colors::RGBA = T.let(T.unsafe(nil), Regexp)
795
+
796
+ # From : http://www.geekmade.co.uk/2008/09/ruby-tip-normalizing-hash-keys-as-symbols/
797
+ class Hash
798
+ include ::Enumerable
799
+ include ::JSON::Ext::Generator::GeneratorMethods::Hash
800
+
801
+ # x = {
802
+ # :none => String,
803
+ # :png => "file.png",
804
+ # :svg => "file.svg"
805
+ # }
806
+ #
807
+ # x.each_except( :key => [:none], :value => [/\.png$/] ) do |k, v|
808
+ # puts "#{k} -> #{v}"
809
+ # end
810
+ #
811
+ # => svg -> file.svg
812
+ def each_except(e, &b); end
813
+
814
+ def symbolize_keys; end
815
+ end
816
+
817
+ class Object < ::BasicObject
818
+ include ::Kernel
819
+ include ::JSON::Ext::Generator::GeneratorMethods::Object
820
+ include ::PP::ObjectMixin
821
+
822
+ def to_ruby; end
823
+ end
824
+
825
+ class RectException < ::RuntimeError; end
826
+ class SplineTypeException < ::RuntimeError; end
827
+
828
+ class String
829
+ include ::Comparable
830
+ include ::JSON::Ext::Generator::GeneratorMethods::String
831
+ extend ::JSON::Ext::Generator::GeneratorMethods::String::Extend
832
+
833
+ def convert_base(from, to); end
834
+
835
+ class << self
836
+ def random(size); end
837
+ end
838
+ end
839
+
840
+ String::BLANK_RE = T.let(T.unsafe(nil), Regexp)