Project

society

0.05
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Social graph for Ruby objects. Based on an original idea by Kerri Miller.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

 Project Readme

Society

Society analyzes and presents social graphs of relationships between classes in a Ruby or Rails project. It displays relationships that are either explicitly declared (e.g. in an ActiveRecord relation) or defined by calls between classes (e.g. in the source of ClassA there is a call to ClassB).

Please note that Society requires Ruby 2.1 or later.

Sample output

Network graph

Network graph

Heatmap

Heatmap

Installation

Add this line to your application's Gemfile:

gem 'society'

And then execute:

$ bundle

Or install it yourself as:

$ gem install society

Usage

From your terminal:

$ society from path/to/models [more/paths/if/applicable]

and then open doc/society/index.htm or doc/society/society.csv in your browser.

For more complex applications, society also supports file globbing:

society from ../path/to/models/*user*

The default format is HTML and CSV; you can skip the HTML interface and just get the JSON by passing --format json

Note that all JSON data is timestamped (regardless of output format) to store snapshots of your project over time.

Recognition

Society was inspired by an original idea by Kerri Miller (@kerrizor).

Contributing

Please note that this project is released with a [Contributor Code of Conduct] (http://contributor-covenant.org/version/1/0/0/). By participating in this project you agree to abide by its terms.

  1. Fork it ( https://github.com/CoralineAda/society/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request