kinit 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/kinit.rb +41 -23
  2. data/lib/kinit/version.rb +1 -1
  3. metadata +66 -2
@@ -8,38 +8,56 @@ module Kinit
8
8
 
9
9
  class GemsEnforcer
10
10
 
11
- #class GemNotPresent < Exception; end
12
11
  #attr_reader :error, :message
13
12
  GemError = Class.new(ArgumentError)
14
13
 
15
- #def initialize (app, options={})
16
- #end
17
-
18
- #def initialize
19
- #end
14
+ #def initialize (app, options={}) end
15
+ #def initialize end
20
16
 
21
17
  def CheckIsGemPresent
22
18
  gemList = ["cane","rails_best_practices", "reek", "simplecov"]
23
19
 
24
20
  gemList.each do |gemname|
25
- puts "Checking if Gem '#{gemname}' present."
26
-
27
- #if Gem::Specification.find_by_name(gem)
28
- # raise GemsEnforcer::GemError, "Please include gem 'cane' to the project."
29
- if Gem.available?(gemname)
30
- puts "Gem '#{gemname}' is present in your project. Pretty Good."
31
- else
32
- puts "Gem '#{gemname}' is not present in your project. Not Good."
33
- end
34
- end
35
-
36
- puts "Suggestion - You should use tools like 'CodeClimate' for your project."
21
+ add_error "Gem '#{gemname}' is not present in your project. Not Good." if !Gem.available?(gemname)
22
+ # puts "Checking if Gem '#{gemname}' present."
37
23
 
38
- return true
39
- #puts "All good. Your project passes Kinit checks."
24
+ # if Gem::Specification.find_by_name(gem)
25
+ # raise GemsEnforcer::GemError, "Please include gem 'cane' to the project."
26
+ end
27
+
28
+ output_terminal_errors
29
+ plain_output "Suggestion - You should use tools like 'CodeClimate' for your project. Ignore if already included", 'green'
30
+
31
+ return true
32
+ end
33
+
34
+ def colorize(text, color_code)
35
+ "\e[#{color_code}m#{text}\e[0m"
36
+ end
37
+
38
+ def red(text); colorize(text, 31); end
39
+ def green(text); colorize(text, 32); end
40
+
41
+ def errors
42
+ @errors ||= []
43
+ end
44
+
45
+ def add_error(message)
46
+ errors << message
47
+ end
48
+
49
+ def output_terminal_errors
50
+ if errors.empty?
51
+ plain_output("\nNo issues or errors found. Cool! Your project passed Kinit checks.", 'green')
52
+ else
53
+ @errors.each { |error| plain_output(error.to_s, 'red') }
54
+ plain_output("\nFound #{errors.size} errors.", 'red')
55
+ end
56
+ end
40
57
 
41
- end # method ends here
58
+ def plain_output(message, color)
59
+ puts result = (color == "red" && red(message) ) || green(message)
60
+ end
42
61
 
43
62
  end # Class ends here
44
-
45
- end #module ends here
63
+ end #module ends here
@@ -1,3 +1,3 @@
1
1
  module Kinit
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kinit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-31 00:00:00.000000000 Z
12
+ date: 2013-06-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -59,6 +59,70 @@ dependencies:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: cane
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: reek
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rails_best_practices
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: simplecov
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
62
126
  description: A gem enforcer tool to check and enforce important gems and best practices
63
127
  for code quality in ruby and rails code. Its configurable to enable disable what
64
128
  all to enforce.