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 page for futher details.
The simplest way to install staruml-ruby is from StarUML extension repository. This installation method is explained as follows:
- Click Tools -> Extension Manager... on the menu bar of StarUML. The Extension Manager window will appear as a pop-up window.
- Select Registry button.
- Type
ruby
on search box. Ruby extension will appear. - Press Install button of Ruby extension.
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:
- Click Tools -> Ruby -> Generate Code... on the menu bar of StarUML. A pop-up window will appear.
- Choose a model that will be generated its code. And then, press OK button.
- Select a location where the generated code will be stored.
- Press Open button.
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 first.
This extension is released under the terms of MIT License. See the LICENSE file for more details.
Copyright © 2016-2019 Andrias Meisyal.