Class: Maximus::CLI

Inherits:
Thor
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/maximus/cli.rb

Overview

Command line abilities

Since:

  • 0.1.0

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ CLI

Returns a new instance of CLI.

Since:

  • 0.1.0


26
27
28
29
# File 'lib/maximus/cli.rb', line 26

def initialize(*args)
  super
  @config ||= Maximus::Config.new(default_options)
end

Instance Method Details

#backendObject

Since:

  • 0.1.0


38
39
40
41
# File 'lib/maximus/cli.rb', line 38

def backend
  ['rubocop', 'railsbp', 'brakeman'].each { |e| check_exclude(e) }
  @config.destroy_temp
end

#frontendObject

Since:

  • 0.1.0


32
33
34
35
# File 'lib/maximus/cli.rb', line 32

def frontend
  ['scsslint', 'jshint'].each { |e| check_exclude(e) }
  @config.destroy_temp
end

#gitObject

Since:

  • 0.1.0


57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/maximus/cli.rb', line 57

def git
  all_tasks = ['frontend', 'backend', 'statistics']
  # If all flag is enabled, run everything
  return all_tasks.each { |a| send(a) } if options[:all]
  # Lint by category unless all flags are blank
  return all_tasks.each { |a| check_option(a) } unless options[:frontend].blank? && options[:backend].blank? && options[:statistics].blank?
  # If include flag is enabled, run based on what's included
  return options[:include].each { |i| send(i) } unless options[:include].blank?
  # If all flag is not enabled, lint working copy as it's supposed to be
  @config.settings[:commit] = options[:git]
  Maximus::GitControl.new({config: @config}).lints_and_stats(true)
  @config.destroy_temp
end

#installObject

Since:

  • 0.1.0


73
74
75
# File 'lib/maximus/cli.rb', line 73

def install
  `npm install -g jshint phantomas stylestats`
end

#rubyObject

Since:

  • 0.1.0


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

def ruby
  backend
end

#statisticsObject

Since:

  • 0.1.0


44
45
46
47
# File 'lib/maximus/cli.rb', line 44

def statistics
  ['stylestats', 'phantomas', 'wraith'].each { |e| check_exclude(e) }
  @config.destroy_temp
end