Skip to content

glejeune/ruby-yuml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ruby/yUML

Copyright © 2009 Gregoire Lejeune

DESCRIPTION:

Ruby/yUML is a UML diagrams generator via yuml.me

FEATURES/PROBLEMS:

0.1.0

  • Initial release

SYNOPSIS:

Use Case Diagram

Syntax Overview

  • Use Case : _(:UseCase) or useCase(:UseCase)

  • Actor : _[:Actor] or actor(:Actor)

  • <<Extend>> : _(:UseCase) < _(:OtherUseCase)

  • <<Include>> : _(:UseCase) > _(:OtherUseCase)

  • Link : _[:Actor] - _(:UseCase)

  • Actor Inheritance : _[:Actor] ^ _[:OtherActor]

  • Notes : _(:UseCase) - note('This is a note')

Example

require 'yuml'

YUML::useCaseDiagram( :scruffy, :scale => 75 ) {
  _[:Admin] ^ _[:User]
  _[:Admin] - note( 'Most privilidged user' )
  _[:User] - _(:Login)
  _[:User] - _(:Logout) 
  _(:Login) < _(:Reminder) 
  _(:Login) > _(:Captcha)
}.to_png( "sample.png" )

This example generate this PNG :

Activity Diagram

Syntax Overview

  • Start : _(:start) or _start or activity(:start)

  • End : _(:end) or _end or activity(:end)

  • Activity : _(:Activity) or activity(:Activity)

  • Flow : _(:A) > _(:B)

  • Decision : _{:Decision} or decision(:Decision)

  • Parallel : _[:Parallel] or parallel(:Parallel)

  • Decision with label : _{:Decision} -"label"> _(:Activity)

Example

require 'yuml'

YUML::activityDiagram( :scruffy, :scale => 100 ) {
  _(:start) > _{:d1}
  _{:d1} -"logged in"> _("Show Dashboard") 
  _("Show Dashboard") > _[:a]
  _[:a] > _(:end)
  _{:d1} -"not logged in"> _("Show Login") 
  _("Show Login") > _[:a]
}.to_png( "activity-diagram.png" )

This example generate this PNG :

Class Diagram

Syntax Overview

WIP

Example

require 'yuml'

x = YUML::classDiagram( :scruffy, :scale => 75 ) {
  _["Customer"|"Forename;Surname;Email"|"+new();-Save()"] - _[:User]
  _["Customer"] - note( 'I love this Klass' )
}.to_png( "class-diagram.png" )

This example generate this PNG :

REQUIREMENTS:

  • An internet acces ;)

LICENSE:

Ruby/yUML is freely distributable according to the terms of the GNU General Public License.

This program is distributed without any warranty. See the file ‘COPYING’ for details.

About

Ruby/yUML is a small DSL to generate UML diagrams with yuml.me

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages