Flay analyzes code for structural similarities. Differences in literal values, variable, class, method names, whitespace, programming style, braces vs do/end, etc are all ignored. Making this totally rad.
Features/Problems:
-
Reports differences at any level of code.
-
Adds a score multiplier to identical nodes.
-
Differences in literal values, variable, class, and method names are ignored.
-
Differences in whitespace, programming style, braces vs do/end, etc are ignored.
-
Works across files.
-
Add the flay-persistent plugin to work across large/many projects.
-
-
Run –diff to see an N-way diff of the code.
-
Provides conservative (default) and –liberal pruning options.
-
Provides –fuzzy duplication detection.
-
Language independent: Plugin system allows other languages to be flayed.
-
Ships with .rb and .erb.
-
javascript and others will be available separately.
-
-
Includes FlayTask for Rakefiles.
-
Uses path_expander, so you can use:
-
dir_arg – expand a directory automatically
-
@file_of_args – persist arguments in a file
-
-path_to_subtract – ignore intersecting subsets of files/directories
-
-
Skips files matched via patterns in .flayignore (subset format of .gitignore).
-
Totally rad.
Required Ruby Version
>= 0
Authors
Ryan Davis
Versions
-
2.14.4
-
source
- 2.14.4 source April 14, 2026 (24 KB)
-
-
2.14.3
-
source
- 2.14.3 source March 23, 2026 (24 KB)
-
-
2.14.2
-
source
- 2.14.2 source January 07, 2026 (23 KB)
-
-
2.14.1
-
source
- 2.14.1 source December 21, 2025 (23 KB)
-
-
2.14.0
-
source
- 2.14.0 source December 11, 2025 (23 KB)
-