Wednesday, September 02, 2015

Colt Gem Ruby Critic Analysis

You can see all the classes gets a 'A' rating.

Here is the Churn vs Complexity Chart

The only code smell is the long parameter list. This cannot be avoided because all the parameters are needed to make the Stripe API call. We have an option of creating a value object to provide the needed values but it complicates the client code where you need to create an instance of the value object and unpacking it in the implementation. This is a conscious design choice and is not based on ignorance.