【问题标题】:create sequence diagram generator ruby gem创建序列图生成器 ruby​​ gem
【发布时间】:2017-11-29 18:48:04
【问题描述】:

所以我想创建一个类似于 VCR 的 gem 来开始记录方法调用 连同这些方法所在的类,甚至可能是行号,并停止记录并生成一个 yml 文件或实际上是运行的 UML 序列图元数据描述的东西。

更进一步,我想用美人鱼 gem 来实际吐出一个图片 UML 图。

我正在考虑采用此 reddit 帖子中概述的方法,基本上存储一个哈希数组以解析为下游的某种植物文本。 https://www.reddit.com/r/ruby/comments/11ns2l/does_a_uml_sequence_diagram_generation_gem_exist/

http://phrogz.net/ProgrammingRuby/ospace.html#tracingyourprogramsexecution

无论如何,最后,我的问题是......有没有更好的方法来解决这个问题? 还是我应该遵循 reddit 中提出的想法?

【问题讨论】:

  • 你已经得到的答案基本上就是我建议的开始。标准库中还有一个 Object-Oriented API 包装了这个 Kernel 方法,您可以使用它。
  • 最近只是为了好玩,我其实wrote my own version的一个方法跟踪器。您可以使用它/它的变体,但标准库方法可能是更好的方法;特别是因为它还处理 C 方法。

标签: ruby uml


【解决方案1】:

最简单的解决方案是生成一个植物 uml 文件。 Plant 文件比 XMI 文件简单得多,Plant 集成在很多工具中。

这可能是一个替代方案。

plantUML

例如:

@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml

产生:

【讨论】:

    【解决方案2】:

    ZemUML 支持类 C 代码。

    例如ZenUML.isAwesome()会生成如下图:

    如果您的元 DSL 遵循相同的语法,它可以直接与 ZenUML 集成。 JS 库作为 npm 模块发布。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      • 1970-01-01
      • 1970-01-01
      • 2015-11-24
      • 2016-07-10
      • 2010-12-16
      • 1970-01-01
      相关资源
      最近更新 更多