概要
Ruby のコードから UML を出力するのに xumlidot というツールを使ってみました
使い方と出力結果を紹介します
注意点として Ruby3 系には対応していません https://github.com/os6sense/xumlidot/issues/36
環境
- macOS 11.5.2
- Ruby 2.6.6
3.0.2p107 - xumlidot 0.1.0
Ruby 2.6.6 のインストール
Ruby3 系だと動作しないので 2.6.6 をインストールします
- rbenv install 2.6.6
インストール
bundler でインストールします
pry にも依存しているのでインストールします
- bundle init
- vim Gemfile
gem "xumlidot"
gem "pry"
- bundle instsall
テストコード
gem を作成するときの構成っぽい感じで作成していますが test.rb だけ作成しても OK です
- mkdir -p lib/user
- vim lib/user.rb
require 'rubygems'
require 'fileutils'
require_relative 'user/test'
module User
end
- vim lib/user/test.rb
module User
class User
def initialize(name, age)
@name = name
@age = age
end
def show
puts "#{@name} => #{@age}"
end
attr_accessor :name, :age
end
class SuperUser < User
def initialize(name, age)
super(name, age)
@admin = true
end
def show
super
puts @admin
end
end
end
動作確認
- bundle exec xumlidot lib > test.dot
- dot -Tpng test.dot -o test.png
- open test.png
これで以下のようなクラス図が生成されていれば OK です
最後に
Ruby3 系ですでに進めてしまっているプロジェクトに適用できなくはないですがいろいろ面倒なので素直に諦めましょう
0 件のコメント:
コメントを投稿