Socket
Book a DemoInstallSign in
Socket

rails-flow-map

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rails-flow-map

0.1.0
bundlerRubygems
Version published
Maintainers
1
Created
Source

Rails Flow Map πŸš€

Version License Ruby Rails

🎯 Comprehensive Rails Application Architecture Visualization Tool

Rails Flow Map is a powerful gem that analyzes your Rails application structure and generates beautiful, interactive visualizations to help understand architecture, dependencies, and data flow patterns.

ζ—₯本θͺž | δΈ­ζ–‡

✨ Features

🎨 Multiple Visualization Formats

  • 🌊 Mermaid Diagrams - GitHub-friendly markdown diagrams
  • πŸ—οΈ PlantUML - Detailed UML class diagrams
  • πŸ”— GraphViz - Network-style relationship graphs
  • ⚑ Interactive D3.js - Zoomable, draggable web visualizations
  • πŸ“Š Metrics Reports - Code quality and complexity analysis
  • πŸ”„ Sequence Diagrams - API endpoint flow visualization
  • πŸ“‹ OpenAPI Specs - Auto-generated API documentation
  • πŸ“ˆ ERD Diagrams - Database schema visualization
  • πŸ” Git Diff Views - Architecture change comparisons

πŸ›‘οΈ Enterprise-Grade Security

  • Path Traversal Protection - Prevents malicious file access
  • XSS Prevention - Sanitizes all HTML outputs
  • Input Validation - Comprehensive parameter checking
  • Security Event Logging - Tracks potential threats

⚑ Performance & Reliability

  • Structured Logging - Performance metrics and debugging info
  • Error Handling - Robust exception management with context
  • Retry Logic - Automatic recovery from transient failures
  • Memory Optimization - Efficient processing for large applications

πŸ”§ Developer Experience

  • Zero Configuration - Works out of the box
  • Flexible Integration - Rake tasks, Ruby API, CI/CD support
  • Comprehensive Documentation - Examples and best practices
  • VS Code Integration - Built-in task definitions

πŸš€ Quick Start

Installation

Add to your Gemfile:

gem 'rails-flow-map'
bundle install
rails generate rails_flow_map:install

Basic Usage

# Generate architecture overview
graph = RailsFlowMap.analyze
RailsFlowMap.export(graph, format: :mermaid, output: 'docs/architecture.md')

# Create interactive visualization
RailsFlowMap.export(graph, format: :d3js, output: 'public/architecture.html')

# Generate API documentation
RailsFlowMap.export(graph, format: :openapi, output: 'docs/api.yaml')

Using Rake Tasks

# Generate all visualizations
rake flow_map:generate

# Specific format
rake flow_map:generate FORMAT=mermaid OUTPUT=docs/flow.md

# Analyze API endpoint
rake flow_map:endpoint ENDPOINT=/api/v1/users FORMAT=sequence

πŸ“Š Visualization Examples

🌊 Mermaid Architecture Diagram

graph TD
    User[User] --> Post[Post]
    User --> Comment[Comment]
    Post --> Comment
    UsersController --> User
    PostsController --> Post
    API[/api/v1/users] --> UsersController

⚑ Interactive D3.js Visualization

Features: Zoom, drag, filter by component type, search functionality

πŸ“‹ OpenAPI Documentation

openapi: 3.0.0
info:
  title: Rails API Documentation
  version: 1.0.0
paths:
  /api/v1/users:
    get:
      summary: List all users
      responses:
        200:
          description: Successful response

🎯 Use Cases

πŸ‘₯ For Development Teams

  • πŸ“š Documentation - Auto-generate always up-to-date architecture docs
  • πŸ” Code Reviews - Visualize architectural changes in PRs
  • πŸŽ“ Onboarding - Help new team members understand the codebase
  • πŸ—οΈ Refactoring - Identify dependencies before making changes

πŸš€ For DevOps & CI/CD

  • πŸ“Š Monitoring - Track architecture complexity over time
  • πŸ”„ Automation - Generate docs automatically on deployment
  • πŸ“ˆ Metrics - Collect code quality and dependency metrics
  • 🚨 Alerts - Detect breaking architectural changes

πŸ“‹ For API Teams

  • πŸ“– API Docs - Auto-generate OpenAPI specifications
  • πŸ”„ Flow Diagrams - Visualize request/response flows
  • πŸ§ͺ Testing - Understand endpoint dependencies
  • πŸ“š Client SDKs - Provide clear API structure documentation

πŸ”§ Configuration

Basic Configuration

# config/initializers/rails_flow_map.rb
RailsFlowMap.configure do |config|
  config.output_directory = 'doc/flow_maps'
  config.exclude_paths = ['vendor/', 'tmp/']
  config.default_format = :mermaid
end

Advanced Configuration

RailsFlowMap.configure do |config|
  # Analysis options
  config.include_models = true
  config.include_controllers = true
  config.include_routes = true
  
  # Performance options
  config.streaming_mode = true
  config.memory_limit = 512.megabytes
  
  # Security options
  config.sanitize_output = true
  config.allow_system_paths = false
end

πŸ“š Documentation

Quick References

Integration Guides

Examples

πŸ› οΈ Supported Formats

FormatDescriptionBest ForOutput
mermaidGitHub-friendly diagramsDocumentation, README.md
plantumlDetailed UML diagramsTechnical documentation.puml
d3jsInteractive visualizationsExploration, presentations.html
openapiAPI specificationsAPI documentation.yaml
sequenceRequest flow diagramsAPI analysis.md
erdDatabase schemasData modeling.md
metricsCode quality reportsCode reviews, monitoring.md
graphvizNetwork diagramsComplex relationships.dot

πŸ”— Integrations

GitHub Actions

name: Generate Architecture Docs
on: [push]
jobs:
  docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: ruby/setup-ruby@v1
      - run: bundle exec rake flow_map:generate_all

VS Code Tasks

{
  "label": "Generate Architecture Docs",
  "type": "shell",
  "command": "bundle exec rake flow_map:generate_all"
}

Pre-commit Hooks

#!/bin/bash
bundle exec rake flow_map:diff > ARCHITECTURE_CHANGES.md
git add ARCHITECTURE_CHANGES.md

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

git clone https://github.com/railsflowmap/rails-flow-map.git
cd rails-flow-map
bundle install
rake spec

Running Tests

# Run all tests
bundle exec rspec

# Run specific test
bundle exec rspec spec/rails_flow_map/formatters/mermaid_formatter_spec.rb

# Run with coverage
COVERAGE=true bundle exec rspec

πŸ“„ License

Rails Flow Map is released under the MIT License.

πŸ™ Acknowledgments

  • Thanks to all contributors
  • Inspired by the Rails community's need for better architecture visualization
  • Built with ❀️ for the Rails ecosystem

⭐ Star us on GitHub if Rails Flow Map helps your team! ⭐

⬆ Back to top

FAQs

Package last updated on 12 Jul 2025

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

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚑️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.