| Rating | Name | Duplication | Size | Complexity | CRAP | Changes | Bugs | Features |
|---|---|---|---|---|---|---|---|---|
| B | RangeHelper::findOverlappingRanges() | 0 | 12 | 7 | 7 | 0 | 0 | 0 |
| A | ProgressiveBillInterpreter::interpret() | 0 | 23 | 5 | 5 | 0 | 0 | 0 |
| A | PercentageBillInterpreter::interpret() | 0 | 14 | 5 | 5 | 0 | 0 | 0 |
| A | FlatRateBillInterpreter::interpret() | 0 | 14 | 5 | 5 | 0 | 0 | 0 |
| A | BillingBoss\RangeHelper::validate() | 0 | 23 | 4 | 4 | 0 | 0 | 0 |
| A | CappedBillInterpreter::interpret() | 0 | 19 | 4 | 4 | 0 | 0 | 0 |
| A | BillingBoss\RangeHelper::getRangeLimits() | 0 | 16 | 4 | 4 | 0 | 0 | 0 |
| A | SteppedBillInterpreter::interpret() | 0 | 11 | 3 | 3 | 0 | 0 | 0 |
| A | ProgressiveBillInterpreter::__construct() | 0 | 2 | 1 | 1 | 0 | 0 | 0 |
| A | BillingBoss::removeInterpreter() | 0 | 3 | 2 | 2 | 0 | 0 | 0 |
| A | BillingBoss\BillContext::setStructure() | 0 | 2 | 1 | 1 | 0 | 0 | 0 |
| A | Traits\RangeValidityCheck::isValid() | 0 | 4 | 2 | 2 | 0 | 0 | 0 |
| A | BillingBoss\RangeHelper::isInRange() | 0 | 5 | 4 | 4 | 0 | 0 | 0 |
| A | BillingBoss\BillingBoss::addInterpreter() | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
| A | AbstractBillInterpreter::__construct() | 0 | 1 | 1 | 1 | 0 | 0 | 0 |