StarUML的Ruby扩展。
staruml-ruby is a Ruby extension for StarUML. This extension helps
you to generate Ruby code from a UML class diagram. For example, you have a
class called Book
.
staruml-ruby will generate code below:
class Book
def initialize(name, price, qty)
@name = name
@price = price
@qty = qty
end
private
attr_accessor :name, :price, :qty
def to_s
"Your string representation of the object will be written here."
end
end
This extension currently supports generating Ruby code from a UML class diagram.
Reverse engineering from Ruby code to a UML class diagram is not supported at
the moment.
Please, refer to [Supported UML concepts][umlconcept] page for futher details.
The simplest way to install staruml-ruby is from StarUML extension repository.
This installation method is explained as follows:
ruby
on search box. Ruby extension will appear.Note that internet connection is needed to perfom the installation.
StarUML extension repository stores extensions that officially registered.
Because of it, I highly recommend to use this installation method.
Registered extensions are available on this page.
See Installation for other installation methods.
Prepare your model that contains a UML class diagram and then:
You can configure the extension before generating the code. The configuration
handles how the generated code looks like. Indentation of code and code comment,
for example. This is supported by this extension to generate Ruby code, as
you prefer.
Check Configuration to configure the extension.
Documentation is available at staruml-ruby GitHub Wiki. Documentation
contains a lot more detail on examples, features, and roadmap.
Contributions are welcome. Before submitting an issue or a pull request, please
take a moment to look over the [contributing guidelines][contributing] first.
This extension is released under the terms of MIT License. See the
LICENSE file for more details.
Copyright © 2016-2019 Andrias Meisyal.
[umlconcept]:
https://github.com/meisyal/staruml-ruby/wiki/Supported-UML-Concepts
[contributing]:
https://github.com/meisyal/staruml-ruby/blob/master/CONTRIBUTING.md