Class: Gemfilelint::Linter
- Inherits:
-
Object
- Object
- Gemfilelint::Linter
- Defined in:
- lib/gemfilelint.rb
Defined Under Namespace
Modules: ANSIColor
Instance Attribute Summary collapse
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
Instance Method Summary collapse
-
#initialize(logger: nil) ⇒ Linter
constructor
A new instance of Linter.
-
#lint(*paths) ⇒ Object
rubocop:disable Metrics/AbcSize, Metrics/MethodLength.
Constructor Details
#initialize(logger: nil) ⇒ Linter
Returns a new instance of Linter.
123 124 125 |
# File 'lib/gemfilelint.rb', line 123 def initialize(logger: nil) @logger = logger || make_logger end |
Instance Attribute Details
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
121 122 123 |
# File 'lib/gemfilelint.rb', line 121 def logger @logger end |
Instance Method Details
#lint(*paths) ⇒ Object
rubocop:disable Metrics/AbcSize, Metrics/MethodLength
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/gemfilelint.rb', line 128 def lint(*paths) logger.info("Inspecting gemfiles at #{paths.join(', ')}\n") offenses = [] each_offense_for(paths) do |offense| if offense offenses << offense logger.info('W'.colorize(:magenta)) else logger.info('.'.colorize(:green)) end end logger.info("\n") if offenses.empty? true else = offenses.map { |offense| (offense) } logger.info("\nOffenses:\n\n#{.join("\n")}\n") false end end |