best_practice_project 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b261b120ec527cc114e33b9a9a527ad2694a083e
4
- data.tar.gz: 3ffa272f8f77bd9d6ea8946fc6bb7163e8da3d3f
3
+ metadata.gz: 4ac02c1babdd1ad02b8a984339c36617283294e9
4
+ data.tar.gz: d6917c5650e11826ec7f6d2a84ef3f5aa72466dd
5
5
  SHA512:
6
- metadata.gz: ea011471d688c598eef9b99becefc850f53bd1d6ea4cc60a251d840fff2121222ecd4b658252205293368009d60bdc808ca660cad6b6bc26aa5e9936536ce13f
7
- data.tar.gz: 34f122ab457aca0f064469dd2bbce82c0469845d81cb4f38fae53c5c9ad2b638393b4fcee45f1ace2044318ad6763e5aa4754d9e10ae03a48283f25b5c45d616
6
+ metadata.gz: 0e1b622177296a2381f530a29af7662c9f01932549baabb56ad83d2e28da108d61d9a48caf82644703f5a0c1f2a6cf9602749435e58cc6267ab63bee59f59836
7
+ data.tar.gz: bce5d11f08347122560701a17497d9169341ec743cf9bde4d68147f8afdfe461b4bf283bdbe2f1ad78681f1b6662917fef636cd808c5578ff44a452009a710e9
@@ -0,0 +1,54 @@
1
+ AllCops:
2
+ Exclude:
3
+ - db/schema.rb
4
+ - spec/dummy/db/schema.rb
5
+
6
+ # https://github.com/AtomLinter/linter-rubocop/issues/2
7
+ Style/FileName:
8
+ Enabled: false
9
+
10
+ Metrics/LineLength:
11
+ Max: 160
12
+
13
+ Metrics/MethodLength:
14
+ Max: 50
15
+
16
+ Metrics/AbcSize:
17
+ Max: 25
18
+
19
+ Metrics/ClassLength:
20
+ Max: 250
21
+
22
+ Style/AccessModifierIndentation:
23
+ EnforcedStyle: outdent
24
+
25
+ Style/ClassAndModuleChildren:
26
+ EnforcedStyle: compact
27
+
28
+ Style/Documentation:
29
+ Enabled: false
30
+
31
+ Style/EmptyLines:
32
+ Enabled: false
33
+
34
+ StringLiterals:
35
+ EnforcedStyle: double_quotes
36
+
37
+ StringLiteralsInInterpolation:
38
+ Enabled: false
39
+
40
+ Style/NilComparison:
41
+ Enabled: false
42
+
43
+ Style/SignalException:
44
+ EnforcedStyle: only_raise
45
+
46
+ Style/MultilineOperationIndentation:
47
+ EnforcedStyle: indented
48
+
49
+ Style/SpaceInsideHashLiteralBraces:
50
+ EnforcedStyle: no_space
51
+
52
+ Style/TrivialAccessors:
53
+ ExactNameMatch: true
54
+ Enabled: true
data/README.md CHANGED
@@ -32,6 +32,7 @@ end
32
32
 
33
33
  Add this to your Rakefile:
34
34
  ```ruby
35
+ require "best_practice_project"
35
36
  BestPracticeProject.load_tasks
36
37
  ```
37
38
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
@@ -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.4 ruby lib
5
+ # stub: best_practice_project 0.0.5 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "best_practice_project"
9
- s.version = "0.0.4"
9
+ s.version = "0.0.5"
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 = "2015-11-25"
14
+ s.date = "2015-12-03"
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 = [
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
21
21
  s.files = [
22
22
  ".document",
23
23
  ".rspec",
24
+ ".rubocop.yml",
24
25
  "Gemfile",
25
26
  "Gemfile.lock",
26
27
  "LICENSE.txt",
@@ -38,7 +39,7 @@ Gem::Specification.new do |s|
38
39
  ]
39
40
  s.homepage = "http://github.com/kaspernj/best_practice_project"
40
41
  s.licenses = ["MIT"]
41
- s.rubygems_version = "2.4.0"
42
+ s.rubygems_version = "2.2.2"
42
43
  s.summary = "A bundle of various linters and code inspection tools"
43
44
 
44
45
  if s.respond_to? :specification_version then
@@ -3,6 +3,10 @@ AllCops:
3
3
  - db/schema.rb
4
4
  - spec/dummy/db/schema.rb
5
5
 
6
+ # https://github.com/AtomLinter/linter-rubocop/issues/2
7
+ Style/FileName:
8
+ Enabled: false
9
+
6
10
  Metrics/LineLength:
7
11
  Max: 160
8
12
 
@@ -4,11 +4,15 @@ class BestPracticeProject::RubocopHandler
4
4
  @actual_config_path = File.realpath("#{File.dirname(__FILE__)}/config/rubocop.yml")
5
5
 
6
6
  if rails?
7
- @config_path = Rails.root.join("config", "rubocop.yml").to_s
8
- @todo_path = Rails.root.join("config", "rubocop_todo.yml").to_s
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")
9
11
  else
10
- @config_path = "config/rubocop.yml"
11
- @todo_path = "config/rubocop_todo.yml"
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"
12
16
  end
13
17
  end
14
18
 
@@ -16,6 +20,10 @@ class BestPracticeProject::RubocopHandler
16
20
  @bpp.rails?
17
21
  end
18
22
 
23
+ def remove_best_practice_path
24
+ self.inherit_from_to = nil
25
+ end
26
+
19
27
  def update_best_practice_path
20
28
  self.inherit_from_to = @actual_config_path
21
29
  end
@@ -24,6 +32,19 @@ class BestPracticeProject::RubocopHandler
24
32
  self.inherit_from_to = "$$$best_practice_project_config_path$$$"
25
33
  end
26
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))
45
+ end
46
+ end
47
+
27
48
  def command
28
49
  command = "bundle exec rubocop --display-cop-names"
29
50
  command << " --rails" if rails?
@@ -43,13 +64,13 @@ class BestPracticeProject::RubocopHandler
43
64
  puts "Generated Rubocop todo config in #{@todo_path}"
44
65
 
45
66
  generated_config = {}
46
- generated_config["inherit_from"] = "rubocop_todo.yml"
67
+ generated_config["inherit_from"] = "best_project_practice_rubocop_todo.yml"
47
68
 
48
69
  File.open(@config_path, "w") do |fp|
49
70
  fp.write(YAML.dump(generated_config))
50
71
  end
51
72
 
52
- reset_best_practice_path
73
+ update_default_configs
53
74
 
54
75
  puts "Generated Rubocop config in #{@config_path}"
55
76
  end
@@ -87,7 +108,7 @@ class BestPracticeProject::RubocopHandler
87
108
  begin
88
109
  system(command)
89
110
  ensure
90
- reset_best_practice_path
111
+ remove_best_practice_path
91
112
  end
92
113
  end
93
114
 
@@ -96,17 +117,21 @@ private
96
117
  def inherit_from_to=(new_inherit_from)
97
118
  todo_config = File.read(@todo_path)
98
119
 
99
- replace_with = "inherit_from: \"#{new_inherit_from}\""
120
+ if new_inherit_from
121
+ replace_with = "inherit_from: \"#{new_inherit_from}\""
122
+ else
123
+ replace_with = ""
124
+ end
100
125
 
101
126
  if todo_config.include?("inherit_from:")
102
127
  replace_what = /^inherit_from: (.+)$/
103
128
  elsif todo_config.start_with?("---\n")
104
129
  replace_what = /\A---\n/
105
130
  replace_with.prepend("---\n")
106
- replace_with << "\n\n"
131
+ replace_with << "\n\n" if replace_with.length > 0
107
132
  else
108
133
  replace_what = /\A/
109
- replace_with << "\n\n"
134
+ replace_with << "\n\n" if replace_with.length > 0
110
135
  end
111
136
 
112
137
  todo_config.gsub!(replace_what, replace_with)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: best_practice_project
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - kaspernj
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-25 00:00:00.000000000 Z
11
+ date: 2015-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: psych
@@ -104,6 +104,7 @@ extra_rdoc_files:
104
104
  files:
105
105
  - ".document"
106
106
  - ".rspec"
107
+ - ".rubocop.yml"
107
108
  - Gemfile
108
109
  - Gemfile.lock
109
110
  - LICENSE.txt
@@ -138,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
139
  version: '0'
139
140
  requirements: []
140
141
  rubyforge_project:
141
- rubygems_version: 2.4.0
142
+ rubygems_version: 2.2.2
142
143
  signing_key:
143
144
  specification_version: 4
144
145
  summary: A bundle of various linters and code inspection tools