Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Snuffle

Gem Version

Snuffle analyzes source code to identify "data clumps", clusters of attributes that are often used together. It uses this analysis to propose objects that may be extracted from a given class. It also looks for objects that are hinted at by method names and identifies them as "latent objects". For example, if you have home_address and work_address methods in a User class, Snuffle will tell you that you might want to extract those methods to a latent Address class.

Please note that Snuffle is still pre-release and will not be ready for serious use until it hits version 1.0.0.

Based on an idea developed with Kerri Miller (@kerrizor).

Installation

Add this line to your application's Gemfile:

gem 'snuffle'

And then execute:

$ bundle

Or install it yourself as:

$ gem install snuffle

Usage

$ snuffle check lib/example.rb

Checking lib/example.rb...
Results written to doc/snuffle/index.htm

Sample Output

Overview

Detail

Contributing

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

  1. Fork the project
  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 Merge Request

About

Snuffle analyzes code to search out latent objects for extraction.

Resources

License

Releases

No releases published

Packages

No packages published