Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

rgen

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rgen

  • 0.9.1
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

= RGen - Ruby Modelling and Generator Framework

RGen is a framework for Model Driven Software Development (MDSD)in Ruby. This means that it helps you build Metamodels, instantiate Models, modify and transform Models and finally generate arbitrary textual content from it.

RGen features include:

  • Supporting Ruby 1.8.7, 1.9.x, 2.0, 2.1, 2.2
  • Metamodel definition language (internal Ruby DSL)
  • ECore Meta-metamodel with an ECore instance available for every Metamodel
  • Generator creating the Ruby metamodel definition from an ECore instance
  • Transformer creating Ruby metamodel classes/modules from an ECore instance
  • Instantiation of Metamodels, i.e. creation of Models (e.g. from XML)
  • Model builder, internal Ruby DSL
  • Model fragmentation over several several files and per-fragment caching
  • Model Transformation language (internal Ruby DSL)
  • Powerful template based generator language (internal Ruby DSL inside of ERB)
  • UML 1.3 metamodel and XMI 1.1 instantiator included
  • ECore XML support (XMI 2.0)
  • UML-to-ECore and ECore-to-UML transformation (UML class models)
  • Enterprise Architect support (UML1.3/XMI1.1)

== Download

Get the latest release from Github: https://github.com/mthiede/rgen

== Installation

Install RGen as a Ruby gem:

gem install rgen

== Running the Tests

Change to the 'test' folder and run the test suite:

cd test ruby rgen_test.rb

== Documentation

RDoc documentation is available at Github: http://mthiede.github.com/rgen/

Find the main documentation parts for:

  • RGen::MetamodelBuilder
  • RGen::Transformer
  • RGen::TemplateLanguage
  • RGen::Fragment::FragmentedModel

== Examples

There are several examples of using RGen within the framework itself.

Metamodel Definition: lib/rgen/ecore/ecore.rb lib/metamodels/uml13_metamodel.rb

Instantiation: lib/rgen/instantiator/xmi11_instantiator.rb lib/rgen/instantiator/ecore_xml_instantiator.rb

Transformations: lib/rgen/ecore/ruby_to_ecore.rb lib/transformers/uml13_to_ecore.rb

Generators: lib/mmgen/metamodel_generator.rb

== License

RGen is released under the MIT license.

FAQs

Package last updated on 02 Dec 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc