Sha256: 2e645b12dec8a7cb267781a2ae53205e859e02b1ea352b8f2c9af89c7968b712

Contents?: true

Size: 1000 Bytes

Versions: 3

Compression:

Stored size: 1000 Bytes

Contents

require_relative 'linter/checkstyle'
require_relative 'linter/coffeelint'
require_relative 'linter/cppcheck'
require_relative 'linter/csslint'
require_relative 'linter/golint'
require_relative 'linter/jshint'
require_relative 'linter/jsonlint'
require_relative 'linter/pylint'
require_relative 'linter/rubocop'
require_relative 'linter/scsslint'
require_relative 'linter/unknown'

module LintTrap
  # Linter lookup
  module Linter
    @linters = Hash.new{|h, v| h[v] = Unknown.new(v)}

    class << self
      def register(linter_class)
        linter = linter_class.new

        linters[linter.name] = linter
      end

      def find(name)
        linters[name]
      end

      def all
        linters.values
      end

    protected

      attr_reader :linters
    end

    register CheckStyle
    register CoffeeLint
    register CPPCheck
    register CSSLint
    register GoLint
    register JSHint
    register JSONLint
    register PyLint
    register RuboCop
    register SCSSLint
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lint_trap-0.0.15 lib/lint_trap/linter.rb
lint_trap-0.0.14 lib/lint_trap/linter.rb
lint_trap-0.0.13 lib/lint_trap/linter.rb