Sha256: 313b9703f5d06ea5e4b4fc18c52be6c28d09621276592a5991239d95e668359f

Contents?: true

Size: 1.37 KB

Versions: 6

Compression:

Stored size: 1.37 KB

Contents

# metacosm

* [Homepage](https://rubygems.org/gems/metacosm)
* [Documentation](http://rubydoc.info/gems/metacosm/frames)
* [Email](mailto:jweissman1986 at gmail.com)

[![Code Climate GPA](https://codeclimate.com/github/deepcerulean/metacosm/badges/gpa.svg)](https://codeclimate.com/github/deepcerulean/metacosm)

## Description

Metacosm is an awesome microframework for building reactive systems.

## Goals

Enable quick prototyping of command-query separated architectures, and empower development of event-sourced systems.

## Background

One core concept is that we use commands to update "write-only" models, which trigger events that update "read-only" view models that are used by queries. 

Models only transform their state in response to commands, so their state can be reconstructed by replaying the stream of commands.

## Features

 - Distributed simulations using Redis 

## Examples

- [Game of Life](https://github.com/jweissman/gol), which implements Conway's game of life using metacosm and gosu
- [Socius](http://github.com/jweissman/socius), a civlike using the Redis integration to communicate with a game server running the sim

## Requirements

Ruby 2.2.1 or higher and Redis. Gosu dependencies are needed for the client.

## Install

    $ gem install metacosm

## Synopsis

    $ metacosm

## Copyright

Copyright (c) 2016 Joseph Weissman

See {file:LICENSE.txt} for details.

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
metacosm-0.3.8 README.md
metacosm-0.3.7 README.md
metacosm-0.3.6 README.md
metacosm-0.3.5 README.md
metacosm-0.3.4 README.md
metacosm-0.3.3 README.md