evilmartians / Terraforming Rails
Licence: mit
Terraforming legacy Rails applications guides and tools
Stars: ✭ 517
Programming Languages
ruby
36898 projects - #4 most used programming language
Projects that are alternatives of or similar to Terraforming Rails
Inline svg
Embed SVG documents in your Rails views and style them with CSS
Stars: ✭ 510 (-1.35%)
Mutual labels: rails
Attribute normalizer
Adds the ability to normalize attributes cleanly with code blocks and predefined normalizers
Stars: ✭ 473 (-8.51%)
Mutual labels: rails
Stealth
An open source Ruby framework for text and voice chatbots. 🤖
Stars: ✭ 481 (-6.96%)
Mutual labels: rails
Motion
Reactive frontend UI components for Rails in pure Ruby
Stars: ✭ 498 (-3.68%)
Mutual labels: rails
Sorbet Rails
A set of tools to make the Sorbet typechecker work with Ruby on Rails seamlessly.
Stars: ✭ 464 (-10.25%)
Mutual labels: rails
Sail
Sail is a lightweight Rails engine that brings an admin panel for managing configuration settings on a live Rails app
Stars: ✭ 484 (-6.38%)
Mutual labels: rails
Acts as api
makes creating API responses in Rails easy and fun
Stars: ✭ 506 (-2.13%)
Mutual labels: rails
Order query
Find next / previous Active Record(s) in one query
Stars: ✭ 472 (-8.7%)
Mutual labels: rails
Hackerpro
All in One Hacking Tool for Linux & Android (Termux). Make your linux environment into a Hacking Machine. Hackers are welcome in our blog
Stars: ✭ 474 (-8.32%)
Mutual labels: tools
Matestack Ui Core
Matestack enables you to create sophisticated, reactive UIs in pure Ruby, without touching JavaScript and HTML. You end up writing 50% less code while increasing productivity, maintainability and developer happiness.
Stars: ✭ 469 (-9.28%)
Mutual labels: rails
Kails
A Web App like Ruby on Rails with Koa2, Webpack and Postgres
Stars: ✭ 512 (-0.97%)
Mutual labels: rails
Pentestkit
Useful tools and scripts during Penetration Testing engagements
Stars: ✭ 463 (-10.44%)
Mutual labels: tools
Letter opener web
A web interface for browsing Ruby on Rails sent emails
Stars: ✭ 513 (-0.77%)
Mutual labels: rails
Zero downtime migrations
Zero downtime migrations with ActiveRecord 3+ and PostgreSQL
Stars: ✭ 513 (-0.77%)
Mutual labels: rails
Appwrite
Appwrite is a secure end-to-end backend server for Web, Mobile, and Flutter developers that is packaged as a set of Docker containers for easy deployment 🚀
Stars: ✭ 14,592 (+2722.44%)
Mutual labels: tools
Terraforming Rails
A collection of tools and guides to help you turn legacy code into legendary code.
Based on the RailsConf 2019 talk "Terraforming legacy Rails applications" (slides, video).
Tools
Unreleased scripts
These scripts have been created during the development of different Rails projects at Evil Martians.
They're not universal enough to be extracted into libraries (some depend on particular Rails version or rely on project-specific assumptions), but they could be used a starting point for building tools for your project.
-
Lint/Env – RuboCop cop (restrict the usage of
ENV
andRails.env
in the app) - FactoryLinter – lint factory definitions
- TimecopLinter – make sure you always travel back in time when using Timecop
- TemplatesTracker – track unused templates
- GemTracker - track potentially unused gems.
Gems
Tests
- TestProf – analyze and improve test suite performance
Security
- bundler-audit – check dependencies for known CVEs
- brakeman – detect the app code's security issues
Database
- database_validations – validations consistent with the DB constraints
- database_consistency - check the consistency of the DB constraints and models validations
- isolator – detect transactions with side-effects (non-atomic)
Dead code elimination
- traceroute – detect unused routes/controller actions
- factory_trace – detect unused FactoryBot factories/traits
Configuration
- anyway_config – transparently use multiple sources of configuration at once
Analysis
- attractor — churn/complexity analysis
Automation Tools
- lefthook – language-agnostic git hook manager
- danger – code review automation helper
- pronto – linters runner to run checks only for the relevant changes
Examples
- CircleCI — example CircleCI configuration files
- Docker for Dev — example Docker for development configuration
- Lefthook + Crystalball — git hooks for convenient development environment
Resources/Guides
License
The code is available as open source under the terms of the MIT License.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].