Sha256: 97dffc0e78d03e3f4b364bee539aad994338ec0619639a065aa17cf4c0298fec

Contents?: true

Size: 1.01 KB

Versions: 97

Compression:

Stored size: 1.01 KB

Contents

module CC
  module Analyzer
    module Formatters
      class Formatter
        def initialize(filesystem, output = $stdout)
          @filesystem = filesystem
          @output = output
        end

        def write(data)
          json = JSON.parse(data)
          json["engine_name"] = current_engine.name

          case json["type"].downcase
          when "issue"
            issues << json
          when "warning"
            warnings << json
          when "measurement"
            measurements << json
          else
            raise "Invalid type found: #{json["type"]}"
          end
        end

        def started
        end

        def engine_running(engine)
          @current_engine = engine
          yield
        ensure
          @current_engine = nil
        end

        def finished
        end

        def close
        end

        def failed(_output)
        end

        InvalidFormatterError = Class.new(StandardError)

        private

        attr_reader :current_engine
      end
    end
  end
end

Version data entries

97 entries across 97 versions & 2 rubygems

Version Path
codeclimate-0.96.0 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.95.0 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.94.1 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.94.0 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.93.0 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.92.1 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.92.0 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.91.0 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.90.0 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.89.0 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.88.0 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.87.5 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.87.4 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.87.3 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.87.2 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.87.1 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.87.0 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.86.0 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.85.29 lib/cc/analyzer/formatters/formatter.rb
codeclimate-0.85.28 lib/cc/analyzer/formatters/formatter.rb