Add ConfigReporter to generate .scss-lint.yml

Change-Id: I515f6f5664671f944a1d17db98e91bb7125f02d6
Reviewed-on: http://gerrit.causes.com/37620
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>
Cleanup ConfigReporter documentation and code

This also fixes a bug that was introduced due to the refactoring of the
`add_lint` method.

Change-Id: Icf2bfe0cbc81710fece6531ecd2cdb7fe14e5364
Reviewed-on: http://gerrit.causes.com/37621
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>
Add add_lint to take a node, line, or location

This makes this helper more flexible and easier to use.

Change-Id: Ibb736adcac0380f34cc81d7bafa914b0903ce20a
Reviewed-on: http://gerrit.causes.com/37622
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>
Fix Indentation linter handling of @at-root

The `Indentation` linter would incorrectly report lines nested within
`@at-root` directives as having incorrect indentation.

This was due to us not including the `AtRootNode` in the list of visit
methods we defined in the `Indentation` linter.

Change-Id: Iaa2c4d4de07fd55d01f6ae5f4a1e3427de958417
Reviewed-on: http://gerrit.causes.com/37652
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>
Fix bug in `ZeroUnit` when it is not a dimension

only for dimensions the unit identifier is optional

Change-Id: Ic1396cb3f344550b94a6721d7269733a7fdbbbe6
Reviewed-on: http://gerrit.causes.com/37677
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>
Cleanup ZeroUnit length bug fix

Modify documentation to provide some additional explanation, remove an
unnecessary spec, cleanup some code with better naming.

Change-Id: Ia06b4a501ec09ceaad4160f19d8f607f6dd3d7cc
Reviewed-on: http://gerrit.causes.com/37678
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>
Fix crash in SingleLinePerSelector for interpolation

The `SingleLinePerSelector` linter would crash on selectors containing
only interpolation, e.g.

    #{$variable} {
      ...
    }

This was caused by `inject` returning `nil` on an empty array. We change
the implementation to return an empty string in this case.

Change-Id: Iabe6b7f87a4fa1fd7bd92ab2f8ce783495fce2df
Reviewed-on: http://gerrit.causes.com/37716
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>
Adapt code for upcomming rubocop