README.md in snuffle-0.9.1 vs README.md in snuffle-0.10.1
- old
+ new
@@ -1,16 +1,21 @@
# Snuffle
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.
+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.
+
## TODO
* Ignore data clumps called in "loose" class methods (e.g. attr_accessor)
-* Match on string concatenation
-* Consider weighting based on match type
+* Output files in folder hierarchy that mirrors source files
## Installation
Add this line to your application's Gemfile:
@@ -24,16 +29,13 @@
$ gem install snuffle
## Usage
- $ snuffle check example.rb
+ $ snuffle check lib/example.rb
- +----------------------------+------------+-----------------------------+
- | Filename | Host Class | Candidate Object Attributes |
- +----------------------------+------------+-----------------------------+
- | example.rb | Customer | company_name, customer_name |
- +----------------------------+------------+-----------------------------+
+ Checking lib/example.rb...
+ Results written to doc/snuffle/index.htm
## Contributing
Please note that this project is released with a [Contributor Code of Conduct](https://gitlab.com/coraline/snuffle/blob/master/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.