Sha256: 216cb07c6c51d856f0988d1f22884837460e20a782beda5736cbf8c4e114f9af

Contents?: true

Size: 947 Bytes

Versions: 4

Compression:

Stored size: 947 Bytes

Contents

module ScrewServer
  class JslintSuite

    DEFAULT_OPTIONS = {
      "bitwise" => true,
      "browser" => true,
      "eqeqeq" => true,
      "immed" => true,
      "newcap" => true,
      "nomen" => true,
      "regexp" => true,
      "undef" => true,
      "white" => true,
      "sloppy" => true,
      "vars" => true,
      "nomen" => true,
      "regexp" => true,
      "plusplus" => true,
      "indent" => true,
    }

    attr_accessor :name, :file_list, :options

    def initialize(n)
      @name = n
    end

    def file_list=(v)
      @file_list = v.map { |file| File.expand_path(file) }
    end

    def self.suites_from(file)
      @suites = []
      eval(IO.read(file), binding, file)
      @suites
    end

    def options_with_defaults
      DEFAULT_OPTIONS.merge(self.options || {})
    end

    private

    def self.jslint(name)
      suite = JslintSuite.new(name)
      yield suite
      @suites << suite
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
screw_server-0.1.9 lib/screw_server/jslint_suite.rb
screw_server-0.1.8 lib/screw_server/jslint_suite.rb
screw_server-0.1.7 lib/screw_server/jslint_suite.rb
screw_server-0.1.6 lib/screw_server/jslint_suite.rb