Module: Codeguard

Defined in:
lib/codeguard.rb,
lib/codeguard/cli.rb,
lib/codeguard/diff.rb,
lib/codeguard/reek.rb,
lib/codeguard/setup.rb,
lib/codeguard/install.rb,
lib/codeguard/js_hint.rb,
lib/codeguard/rubocop.rb,
lib/codeguard/version.rb,
lib/codeguard/scss_lint.rb,
lib/codeguard/slim_lint.rb,
lib/codeguard/coffeelint.rb,
lib/codeguard/pre_commit.rb,
lib/codeguard/git_message.rb

Defined Under Namespace

Modules: CLI, Coffeelint, GitMessage, JSHint, PreCommit, Reek, Rubocop, SCSSLint, SlimLint Classes: Diff, Install, Setup

Constant Summary collapse

LINTERS =
[
  Coffeelint,
  GitMessage,
  JSHint,
  PreCommit,
  Reek,
  Rubocop,
  SCSSLint,
  SlimLint,
]
LOCAL_LINTERS =

Lints that require setup in every local environment

[GitMessage, PreCommit]
VERSION =
'0.3.0'

Class Method Summary collapse

Class Method Details

.config_pathObject



56
57
58
# File 'lib/codeguard.rb', line 56

def config_path
  gem_root.join('config')
end

.diffObject



42
43
44
45
46
47
48
49
50
# File 'lib/codeguard.rb', line 42

def diff
  lints = LINTERS.map do |lint|
    diff = Diff.perform(lint)
    [diff.diff, diff.message]
  end
  transposed = lints.transpose
  puts transposed.first.compact
  puts transposed.last.compact
end

.gem_rootObject



60
61
62
# File 'lib/codeguard.rb', line 60

def gem_root
  Pathname.new($LOAD_PATH.first).join('../')
end

.helpObject



52
53
54
# File 'lib/codeguard.rb', line 52

def help
  puts IO.read(gem_root.join('HELP.md'))
end

.installObject



30
31
32
33
34
# File 'lib/codeguard.rb', line 30

def install
  LINTERS.each do |lint|
    Install.perform(lint)
  end
end

.setupObject



36
37
38
39
40
# File 'lib/codeguard.rb', line 36

def setup
  LOCAL_LINTERS.each do |lint|
    Setup.perform(lint)
  end
end