best_practice_project 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8bdb01389bf5b2880437653e7d54d990872254ac
4
- data.tar.gz: 36d8a022e153b74d97e2f27491e17d67b8982f6f
3
+ metadata.gz: 3e683826592449afebee264ce6045ec6646483e7
4
+ data.tar.gz: bb6557d292562498e89d917591b13f2b2960b3af
5
5
  SHA512:
6
- metadata.gz: e5e43d95bd6ffe1a59dcd9c7829a281713310299101dae066f2b698b00c2af96adbbe406df4d4806fc1bc36da669762c01c45f855abadece5f40d9abc077d1be
7
- data.tar.gz: 29a65ba9093186705cf83704360214f7c470caf2e07a21779d0a39321275251d1fc3fc3aaab6952fdd9eb129ccaa5dd5a065c2227ea91dbde65dfdf211974836
6
+ metadata.gz: ec018b7d4fd6fe91c2df959f24765a8f6916ec3172a722c4420a850d3e659ef05724a56f4a0d2a831b5b0208a7f5671cc4ab9088108561ff4453fff8c661eab9
7
+ data.tar.gz: 2bab2d409b34ba1635af884484c7d8d2360817d5863af18f2417716c81cb68184dbe8bfea98c7ce7facf07cdaf1a50838dd12eb5faf2cdcc5b3ac422d2c08c51
@@ -1,4 +1,6 @@
1
1
  AllCops:
2
+ DisplayCopNames: true
3
+ DisplayStyleGuide: true
2
4
  Exclude:
3
5
  - db/schema.rb
4
6
  - spec/dummy/db/schema.rb
@@ -31,10 +33,10 @@ Style/Documentation:
31
33
  Style/EmptyLines:
32
34
  Enabled: false
33
35
 
34
- StringLiterals:
36
+ Style/StringLiterals:
35
37
  EnforcedStyle: double_quotes
36
38
 
37
- StringLiteralsInInterpolation:
39
+ Style/StringLiteralsInInterpolation:
38
40
  Enabled: false
39
41
 
40
42
  Style/NilComparison:
data/Gemfile CHANGED
@@ -3,6 +3,8 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
+ gem "auto_autoloader"
7
+
6
8
  # Add dependencies to develop your gem here.
7
9
  # Include everything needed to run rake, tests, features, etc.
8
10
  group :development do
@@ -2,6 +2,8 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  addressable (2.3.8)
5
+ auto_autoloader (0.0.1)
6
+ string-cases
5
7
  builder (3.2.2)
6
8
  descendants_tracker (0.0.4)
7
9
  thread_safe (~> 0.3, >= 0.3.1)
@@ -60,12 +62,14 @@ GEM
60
62
  json (~> 1.8)
61
63
  simplecov-html (~> 0.10.0)
62
64
  simplecov-html (0.10.0)
65
+ string-cases (0.0.2)
63
66
  thread_safe (0.3.5)
64
67
 
65
68
  PLATFORMS
66
69
  ruby
67
70
 
68
71
  DEPENDENCIES
72
+ auto_autoloader
69
73
  bundler (~> 1.0)
70
74
  jeweler (~> 2.0.1)
71
75
  rdoc (~> 3.12)
@@ -73,4 +77,4 @@ DEPENDENCIES
73
77
  simplecov
74
78
 
75
79
  BUNDLED WITH
76
- 1.10.6
80
+ 1.11.2
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.7
1
+ 0.0.8
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: best_practice_project 0.0.7 ruby lib
5
+ # stub: best_practice_project 0.0.8 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "best_practice_project"
9
- s.version = "0.0.7"
9
+ s.version = "0.0.8"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["kaspernj"]
14
- s.date = "2016-01-02"
14
+ s.date = "2016-01-07"
15
15
  s.description = "A bundle of various linters and code inspection tools"
16
16
  s.email = "k@spernj.org"
17
17
  s.extra_rdoc_files = [
@@ -30,8 +30,14 @@ Gem::Specification.new do |s|
30
30
  "VERSION",
31
31
  "best_practice_project.gemspec",
32
32
  "lib/best_practice_project.rb",
33
+ "lib/best_practice_project/base_handler.rb",
34
+ "lib/best_practice_project/coffee_lint_handler.rb",
35
+ "lib/best_practice_project/config/haml-lint.yml",
33
36
  "lib/best_practice_project/config/rubocop.yml",
37
+ "lib/best_practice_project/haml_lint_handler.rb",
38
+ "lib/best_practice_project/rails_best_practices_handler.rb",
34
39
  "lib/best_practice_project/rubocop_handler.rb",
40
+ "lib/best_practice_project/scss_lint_handler.rb",
35
41
  "lib/tasks/best_practice_project.rake",
36
42
  "shippable.yml",
37
43
  "spec/best_practice_project_spec.rb",
@@ -46,12 +52,14 @@ Gem::Specification.new do |s|
46
52
  s.specification_version = 4
47
53
 
48
54
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
55
+ s.add_runtime_dependency(%q<auto_autoloader>, [">= 0"])
49
56
  s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
50
57
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
51
58
  s.add_development_dependency(%q<bundler>, ["~> 1.0"])
52
59
  s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
53
60
  s.add_development_dependency(%q<simplecov>, [">= 0"])
54
61
  else
62
+ s.add_dependency(%q<auto_autoloader>, [">= 0"])
55
63
  s.add_dependency(%q<rspec>, ["~> 2.8.0"])
56
64
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
57
65
  s.add_dependency(%q<bundler>, ["~> 1.0"])
@@ -59,6 +67,7 @@ Gem::Specification.new do |s|
59
67
  s.add_dependency(%q<simplecov>, [">= 0"])
60
68
  end
61
69
  else
70
+ s.add_dependency(%q<auto_autoloader>, [">= 0"])
62
71
  s.add_dependency(%q<rspec>, ["~> 2.8.0"])
63
72
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
64
73
  s.add_dependency(%q<bundler>, ["~> 1.0"])
@@ -1,11 +1,11 @@
1
1
  require "yaml"
2
+ require "fileutils"
3
+ require "auto_autoloader"
2
4
 
3
5
  class BestPracticeProject
4
- path = "#{File.dirname(__FILE__)}/best_practice_project"
6
+ AutoAutoloader.autoload_sub_classes(self, __FILE__)
5
7
 
6
- autoload :RubocopHandler, "#{path}/rubocop_handler"
7
-
8
- attr_reader :rails, :rubocop_handler
8
+ attr_reader :rails, :rubocop_handler, :haml_lint_handler, :scss_lint_handler, :coffee_lint_handler, :rails_best_practices_handler
9
9
  alias_method :rails?, :rails
10
10
 
11
11
  def self.load_tasks
@@ -13,25 +13,19 @@ class BestPracticeProject
13
13
  end
14
14
 
15
15
  def initialize
16
- @rubocop_handler = BestPracticeProject::RubocopHandler.new(best_practice_project: self) if rubocop_installed?
17
-
18
- if rails?
19
- @config_path = Rails.root.join("config")
20
- @scss_config_path = Rails.root.join("config", "scss-lint.yml").to_s if scss_lint_installed?
21
- @coffee_lint_config_path = Rails.root.join("config", "coffeelint.json").to_s if coffee_lint_installed?
22
- else
23
- @config_path = "config"
24
- end
25
-
26
- @commands = []
27
-
28
- if rails?
29
- @commands << scss_lint_command if scss_lint_installed?
30
- @commands << coffee_lint_command if coffee_lint_installed?
31
- @commands << rails_best_practices_command if rails_best_practices_installed?
32
- end
33
-
34
- @commands << proc { @rubocop_handler.execute }
16
+ @rubocop_handler = BestPracticeProject::RubocopHandler.new(best_practice_project: self)
17
+ @haml_lint_handler = BestPracticeProject::HamlLintHandler.new(best_practice_project: self)
18
+ @scss_lint_handler = BestPracticeProject::ScssLintHandler.new(best_practice_project: self)
19
+ @coffee_lint_handler = BestPracticeProject::CoffeeLintHandler.new(best_practice_project: self)
20
+ @rails_best_practices_handler = BestPracticeProject::RailsBestPracticesHandler.new(best_practice_project: self)
21
+
22
+ @handlers = [
23
+ @rubocop_handler,
24
+ @haml_lint_handler,
25
+ @scss_lint_handler,
26
+ @coffee_lint_handler,
27
+ @rails_best_practices_handler
28
+ ]
35
29
  end
36
30
 
37
31
  def rails?
@@ -42,88 +36,34 @@ class BestPracticeProject
42
36
  def execute
43
37
  process_status = true
44
38
 
45
- @commands.each do |command|
46
- if command.is_a?(Proc)
47
- puts "Executing: #{@rubocop_handler.command}"
48
- status = command.call unless status
49
- else
50
- puts "Executing: #{command}"
51
- status = system(command)
52
- end
53
-
54
- process_status = status unless status
39
+ @handlers.select(&:installed?).each do |handler|
40
+ handler_result = handler.execute
41
+ process_status = false unless handler_result
55
42
  end
56
43
 
57
44
  process_status
58
45
  end
59
46
 
60
47
  def generate_configs
61
- Dir.mkdir(@config_path) unless File.exist?(@config_path)
62
-
63
- @rubocop_handler.generate_config if rubocop_installed?
64
- generate_scss_config if scss_lint_installed?
65
- generate_coffee_lint_config if coffee_lint_installed?
66
- end
67
-
68
- def scss_lint_command
69
- "bundle exec scss-lint --config config/scss-lint.yml app/assets/stylesheets/" if rails?
70
- end
71
-
72
- def coffee_lint_command
73
- "bundle exec coffeelint.rb -f config/coffeelint.json -r app/assets/javascripts/" if rails?
74
- end
48
+ puts "Handlers: #{@handlers.select(&:installed?).map(&:class).map(&:name)}"
75
49
 
76
- def rails_best_practices_command
77
- "bundle exec rails_best_practices" if rails?
50
+ @handlers.select(&:installed?).map(&:generate_config)
78
51
  end
79
52
 
80
53
  private
81
54
 
82
- def rubocop_installed?
83
- require "rubocop"
84
- true
85
- rescue LoadError
86
- false
87
- end
88
-
89
- def scss_lint_installed?
90
- require "scss_lint"
91
- true
92
- rescue LoadError
93
- false
94
- end
55
+ def commands
56
+ unless @commands
57
+ @commands = []
95
58
 
96
- def coffee_lint_installed?
97
- require "coffeelint"
98
- true
99
- rescue LoadError
100
- false
101
- end
102
-
103
- def rails_best_practices_installed?
104
- require "rails_best_practices"
105
- true
106
- rescue LoadError
107
- false
108
- end
109
-
110
- def generate_coffee_lint_config
111
- return unless @coffee_lint_config_path
112
- return puts "Coffee-Lint config already exists in #{@coffee_lint_config_path}" if File.exist?(@coffee_lint_config_path)
113
-
114
- puts "FIXME: Generate Coffee-Lint configuration!"
115
- end
116
-
117
- def generate_scss_config
118
- return unless @scss_config_path
119
- return puts "SCSS-Lint config already exists in #{@scss_config_path}" if File.exist?(@scss_config_path)
120
-
121
- config = `bundle exec scss-lint --format=Config`
59
+ if rails?
60
+ @commands << @scss_lint_handler.command if @scss_lint_handler.installed?
61
+ @commands << @rails_best_practices_handler.command if @rails_best_practices_handler.installed?
62
+ end
122
63
 
123
- File.open(@scss_config_path, "w") do |fp|
124
- fp.write(config)
64
+ @commands << proc { @rubocop_handler.execute }
125
65
  end
126
66
 
127
- puts "Generated SCSS-Lint config in #{@scss_config_path}"
67
+ @commands
128
68
  end
129
69
  end
@@ -0,0 +1,21 @@
1
+ class BestPracticeProject::BaseHandler
2
+ def initialize(args)
3
+ @bpp = args.fetch(:best_practice_project)
4
+ end
5
+
6
+ def rails?
7
+ @bpp.rails?
8
+ end
9
+
10
+ def installed?
11
+ raise "stub!"
12
+ end
13
+
14
+ def generate_config
15
+ raise "stub!"
16
+ end
17
+
18
+ def execute
19
+ raise "stub!"
20
+ end
21
+ end
@@ -0,0 +1,45 @@
1
+ class BestPracticeProject::CoffeeLintHandler < BestPracticeProject::BaseHandler
2
+ def command
3
+ "bundle exec coffeelint.rb -f coffeelint.json -r app/assets/javascripts/" if rails?
4
+ end
5
+
6
+ def execute
7
+ require "coffeelint"
8
+
9
+ dirs = ENV["DIRS"].split(":").map(&:strip) if ENV["DIRS"]
10
+ dirs ||= ["app/assets/javascripts"]
11
+ status = true
12
+
13
+ dirs.each do |dir|
14
+ dir = dir.strip
15
+
16
+ puts "Running CoffeeLint on: #{dir}"
17
+ result = Coffeelint.run_test_suite(dir)
18
+
19
+ puts "Result: #{result}"
20
+ status = false if result > 0
21
+ end
22
+
23
+ status
24
+ end
25
+
26
+ def installed?
27
+ require "coffeelint"
28
+ true
29
+ rescue LoadError
30
+ false
31
+ end
32
+
33
+ def generate_config
34
+ return unless @coffee_lint_config_path
35
+ return puts "Coffee-Lint config already exists in #{@coffee_lint_config_path}" if File.exist?(@coffee_lint_config_path)
36
+
37
+ puts "CoffeeLintHandler: FIXME: Generate Coffee-Lint configuration!"
38
+ end
39
+
40
+ private
41
+
42
+ def config_path
43
+ @config_path ||= "coffeelint.json"
44
+ end
45
+ end
@@ -0,0 +1,6 @@
1
+ linters:
2
+ SpaceInsideHashAttributes:
3
+ style: no_space
4
+
5
+ LineLength:
6
+ max: 160
@@ -1,4 +1,6 @@
1
1
  AllCops:
2
+ DisplayCopNames: true
3
+ DisplayStyleGuide: true
2
4
  Exclude:
3
5
  - db/schema.rb
4
6
  - spec/dummy/db/schema.rb
@@ -31,10 +33,10 @@ Style/Documentation:
31
33
  Style/EmptyLines:
32
34
  Enabled: false
33
35
 
34
- StringLiterals:
36
+ Style/StringLiterals:
35
37
  EnforcedStyle: double_quotes
36
38
 
37
- StringLiteralsInInterpolation:
39
+ Style/StringLiteralsInInterpolation:
38
40
  Enabled: false
39
41
 
40
42
  Style/NilComparison:
@@ -0,0 +1,31 @@
1
+ class BestPracticeProject::HamlLintHandler < BestPracticeProject::BaseHandler
2
+ def installed?
3
+ require "haml_lint"
4
+ true
5
+ rescue LoadError
6
+ false
7
+ end
8
+
9
+ def generate_config
10
+ puts "HamlLintHandler: Copying standard config"
11
+ FileUtils.copy(bpp_config_path, config_path)
12
+ end
13
+
14
+ def command
15
+ @command ||= "bundle exec haml-lint app"
16
+ end
17
+
18
+ def execute
19
+ system(command)
20
+ end
21
+
22
+ private
23
+
24
+ def bpp_config_path
25
+ @bpp_config_path ||= File.realpath("#{File.dirname(__FILE__)}/config/haml-lint.yml")
26
+ end
27
+
28
+ def config_path
29
+ @config_path ||= Rails.root.join(".haml-lint.yml").to_s
30
+ end
31
+ end
@@ -0,0 +1,22 @@
1
+ class BestPracticeProject::RailsBestPracticesHandler < BestPracticeProject::BaseHandler
2
+ def command
3
+ "bundle exec rails_best_practices"
4
+ end
5
+
6
+ def generate_config
7
+ system("bundle exec rails_best_practices -g")
8
+ end
9
+
10
+ def execute
11
+ system(command)
12
+ end
13
+
14
+ def installed?
15
+ return false unless rails?
16
+
17
+ require "rails_best_practices"
18
+ true
19
+ rescue LoadError
20
+ false
21
+ end
22
+ end
@@ -1,145 +1,50 @@
1
- class BestPracticeProject::RubocopHandler
1
+ class BestPracticeProject::RubocopHandler < BestPracticeProject::BaseHandler
2
2
  def initialize(args)
3
- @bpp = args.fetch(:best_practice_project)
3
+ super
4
+
4
5
  @actual_config_path = File.realpath("#{File.dirname(__FILE__)}/config/rubocop.yml")
5
6
 
6
7
  if rails?
7
- @config_path = Rails.root.join("config", "best_project_practice_rubocop.yml").to_s
8
- @todo_path = Rails.root.join("config", "best_project_practice_rubocop_todo.yml").to_s
9
- @default_path = Rails.root.join(".rubocop.yml")
10
- @default_todo_path = Rails.root.join(".rubocop_todo.yml")
8
+ @config_path = Rails.root.join(".rubocop.yml").to_s
9
+ @todo_path = Rails.root.join(".rubocop_todo.yml").to_s
11
10
  else
12
- @config_path = "config/best_project_practice_rubocop.yml"
13
- @todo_path = "config/best_project_practice_rubocop_todo.yml"
14
- @default_path = ".rubocop.yml"
15
- @default_todo_path = ".rubocop_todo.yml"
16
- end
17
- end
18
-
19
- def rails?
20
- @bpp.rails?
21
- end
22
-
23
- def remove_best_practice_path
24
- self.inherit_from_to = nil
25
- end
26
-
27
- def update_best_practice_path
28
- self.inherit_from_to = @actual_config_path
29
- end
30
-
31
- def reset_best_practice_path
32
- self.inherit_from_to = "$$$best_practice_project_config_path$$$"
33
- end
34
-
35
- # Make default ".rubocop.yml" and ".rubocop_todo" to support Sublime Text plugins and likewise
36
- def update_default_configs
37
- remove_best_practice_path
38
- File.symlink(@todo_path, @default_todo_path)
39
- # FileUtils.cp(@todo_path, @default_todo_path)
40
-
41
- # Make default ".rubocop.yml" and ".rubocop_todo" to support Sublime Text plugins and likewise
42
- generated_config = {"inherit_from" => [@actual_config_path, ".rubocop_todo.yml"]}
43
- File.open(@default_path, "w") do |fp|
44
- fp.write(YAML.dump(generated_config))
11
+ @config_path = ".rubocop.yml"
12
+ @todo_path = ".rubocop_todo.yml"
45
13
  end
46
14
  end
47
15
 
48
16
  def command
49
17
  command = "bundle exec rubocop --display-cop-names"
50
18
  command << " --rails" if rails?
51
- command << " \"--config=#{@config_path}\"" if File.exist?(@config_path)
52
19
  command << " --auto-correct" if ARGV.include?("auto-correct")
53
20
 
54
21
  command
55
22
  end
56
23
 
57
24
  def generate_config
58
- return puts "Rubocop config already exists in #{@config_path}" if File.exist?(@config_path)
25
+ FileUtils.copy(@actual_config_path, @config_path)
59
26
 
60
- File.open(@todo_path, "w") do |fp|
61
- fp.write(generate_todo_config)
62
- end
27
+ generate_todo_config
63
28
 
64
29
  puts "Generated Rubocop todo config in #{@todo_path}"
65
-
66
- generated_config = {}
67
- generated_config["inherit_from"] = "best_project_practice_rubocop_todo.yml"
68
-
69
- File.open(@config_path, "w") do |fp|
70
- fp.write(YAML.dump(generated_config))
71
- end
72
-
73
- update_default_configs
74
-
75
30
  puts "Generated Rubocop config in #{@config_path}"
76
31
  end
77
32
 
78
33
  def generate_todo_config
79
- if rails?
80
- todo_file_path = Rails.root.join(".rubocop_todo.yml").to_s
81
- todo_backup_file_path = Rails.root.join(".rubocop_todo_backup.yml").to_s
82
- else
83
- todo_file_path = ".rubocop_todo.yml"
84
- todo_backup_file_path = ".rubocop_todo_backup.yml"
85
- end
86
-
87
- if File.exist?(todo_file_path)
88
- File.rename(todo_file_path, todo_backup_file_path)
89
- end
90
-
91
- rubocop_command = "rubocop --display-cop-names --auto-gen-config --config=#{@actual_config_path}"
92
- rubocop_command << " --rails" if @bpp.rails?
34
+ rubocop_command = "rubocop --display-cop-names --auto-gen-config --config=#{@config_path}"
35
+ rubocop_command << " --rails" if rails?
93
36
 
94
37
  system(rubocop_command)
95
-
96
- raise "Todo-file was not generated" unless File.exist?(todo_file_path)
97
-
98
- todo_config = File.read(todo_file_path)
99
- File.unlink(todo_file_path)
100
- File.rename(todo_backup_file_path, todo_file_path) if File.exist?(todo_backup_file_path)
101
-
102
- todo_config
103
38
  end
104
39
 
105
40
  def execute
106
- update_best_practice_path
107
-
108
- begin
109
- system(command)
110
- ensure
111
- remove_best_practice_path
112
- end
41
+ system(command)
113
42
  end
114
43
 
115
- private
116
-
117
- def inherit_from_to=(new_inherit_from)
118
- todo_config = File.read(@todo_path)
119
-
120
- if new_inherit_from
121
- replace_with = "inherit_from: \"#{new_inherit_from}\""
122
- else
123
- replace_with = ""
124
- end
125
-
126
- if todo_config.include?("inherit_from:")
127
- replace_what = /^inherit_from: (.+)$/
128
- elsif todo_config.start_with?("---\n")
129
- replace_what = /\A---\n/
130
- replace_with.prepend("---\n")
131
- replace_with << "\n\n" if replace_with.length > 0
132
- else
133
- replace_what = /\A/
134
- replace_with << "\n\n" if replace_with.length > 0
135
- end
136
-
137
- todo_config.gsub!(replace_what, replace_with)
138
-
139
- raise "Couldn't insert dynamic config" unless todo_config.include?(replace_with)
140
-
141
- File.open(@todo_path, "w") do |fp|
142
- fp.write(todo_config)
143
- end
44
+ def installed?
45
+ require "rubocop"
46
+ true
47
+ rescue LoadError
48
+ false
144
49
  end
145
50
  end
@@ -0,0 +1,36 @@
1
+ class BestPracticeProject::ScssLintHandler < BestPracticeProject::BaseHandler
2
+ def installed?
3
+ return false unless rails?
4
+ require "scss_lint"
5
+ true
6
+ rescue LoadError
7
+ false
8
+ end
9
+
10
+ def generate_config
11
+ return unless @scss_config_path
12
+ return puts "SCSS-Lint config already exists in #{@scss_config_path}" if File.exist?(@scss_config_path)
13
+
14
+ config = `bundle exec scss-lint --format=Config`
15
+
16
+ File.open(config_path, "w") do |fp|
17
+ fp.write(config)
18
+ end
19
+
20
+ puts "ScssLintHandler: Generated SCSS-Lint config in #{@scss_config_path}"
21
+ end
22
+
23
+ def command
24
+ "bundle exec scss-lint --config .scss-lint.yml app/assets/stylesheets/"
25
+ end
26
+
27
+ def execute
28
+ system(command)
29
+ end
30
+
31
+ private
32
+
33
+ def config_path
34
+ @config_path ||= ".scss-lint.yml"
35
+ end
36
+ end
@@ -1,34 +1,26 @@
1
1
  namespace "best_practice_project" do
2
- task "run" do |t, args|
2
+ task "run" do |_t, _args|
3
3
  exit BestPracticeProject.new.execute
4
4
  end
5
5
 
6
- task "run_rubocop" do
7
- best_practice_project = BestPracticeProject.new
6
+ task "run_haml_lint "do
7
+ exit BestPracticeProject.new.haml_lint_handler.execute
8
+ end
8
9
 
9
- puts "Executing: #{best_practice_project.rubocop_handler.command}"
10
- best_practice_project.rubocop_handler.execute
10
+ task "run_rubocop" do
11
+ exit BestPracticeProject.new.rubocop_handler.execute
11
12
  end
12
13
 
13
14
  task "run_scss_lint" do
14
- best_practice_project = BestPracticeProject.new
15
-
16
- puts "Executing: #{best_practice_project.scss_lint_command}"
17
- exit system(best_practice_project.scss_lint_command)
15
+ exit BestPracticeProject.new.scss_lint_handler.execute
18
16
  end
19
17
 
20
18
  task "run_coffee_lint" do
21
- best_practice_project = BestPracticeProject.new
22
-
23
- puts "Executing: #{best_practice_project.coffee_lint_command}"
24
- exit system(best_practice_project.coffee_lint_command)
19
+ exit BestPracticeProject.new.coffee_lint_handler.execute
25
20
  end
26
21
 
27
22
  task "run_rails_best_practices" do
28
- best_practice_project = BestPracticeProject.new
29
-
30
- puts "Executing: #{best_practice_project.rails_best_practices_command}"
31
- exit system(best_practice_project.rails_best_practices_command)
23
+ exit BestPracticeProject.new.rails_best_practices_handler.execute
32
24
  end
33
25
 
34
26
  task "generate_configs" do
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: best_practice_project
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - kaspernj
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-02 00:00:00.000000000 Z
11
+ date: 2016-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: auto_autoloader
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rspec
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -99,8 +113,14 @@ files:
99
113
  - VERSION
100
114
  - best_practice_project.gemspec
101
115
  - lib/best_practice_project.rb
116
+ - lib/best_practice_project/base_handler.rb
117
+ - lib/best_practice_project/coffee_lint_handler.rb
118
+ - lib/best_practice_project/config/haml-lint.yml
102
119
  - lib/best_practice_project/config/rubocop.yml
120
+ - lib/best_practice_project/haml_lint_handler.rb
121
+ - lib/best_practice_project/rails_best_practices_handler.rb
103
122
  - lib/best_practice_project/rubocop_handler.rb
123
+ - lib/best_practice_project/scss_lint_handler.rb
104
124
  - lib/tasks/best_practice_project.rake
105
125
  - shippable.yml
106
126
  - spec/best_practice_project_spec.rb