knife-foodcritic 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+
6
+ script: bundle exec rake
data/README.md CHANGED
@@ -3,6 +3,8 @@ knife-foodcritic
3
3
 
4
4
  A knife plugin that generates boiler plate code for developing and testing custom foodcritic rules
5
5
 
6
+ [![Build Status](https://travis-ci.org/DevopsNinjas/knife-foodcritic.svg?branch=master)](https://travis-ci.org/DevopsNinjas/knife-foodcritic)
7
+
6
8
  Installation
7
9
  ------------
8
10
 
data/Rakefile CHANGED
@@ -1 +1,7 @@
1
- require 'bundler/gem_tasks'
1
+ require 'rspec/core/rake_task'
2
+ require 'bundler/gem_tasks'
3
+
4
+ desc 'Runs specs'
5
+ RSpec::Core::RakeTask.new :spec
6
+
7
+ task :default => [:spec]
@@ -18,7 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.require_paths = ["lib"]
19
19
 
20
20
  spec.add_development_dependency "bundler", "~> 1.3"
21
- spec.add_development_dependency "rake"
21
+ spec.add_development_dependency 'rake', '~> 10'
22
+ spec.add_development_dependency 'rspec', '~> 2.14'
23
+ spec.add_development_dependency "fakefs", '>= 0.5.3'
22
24
  spec.add_dependency "chef"
23
25
  spec.add_dependency "foodcritic", "~> 4.0.0"
24
26
 
@@ -1,7 +1,7 @@
1
1
  require 'chef/knife'
2
2
  require 'chef/knife/cookbook_create'
3
3
 
4
- module Foodcritic
4
+ module Knife
5
5
  class FoodcriticRuleCreate < Chef::Knife
6
6
 
7
7
  banner "knife foodcritic rule create"
@@ -16,8 +16,8 @@ module Foodcritic
16
16
  def run
17
17
 
18
18
  unless name_args.size == 1
19
- puts "You need to name the rule (eg. FOURTH004)"
20
19
  show_usage
20
+ ui.fatal('You must specify a rule ID (eg. CUSTOM001)')
21
21
  exit 1
22
22
  end
23
23
 
@@ -1,6 +1,6 @@
1
1
  require 'chef/knife'
2
2
 
3
- module Foodcritic
3
+ module Knife
4
4
  class FoodcriticRuleDelete < Chef::Knife
5
5
 
6
6
  banner "knife foodcritic rule delete"
@@ -17,7 +17,7 @@ module Foodcritic
17
17
  end
18
18
 
19
19
  def delete_foodcritic_rule(foodcritic_path, ruleID)
20
- path = File.join(foodcritic_path, "lib","Fourth", "#{ruleID.upcase}.rb")
20
+ path = File.join(foodcritic_path, "rules", "#{ruleID.upcase}.rb")
21
21
 
22
22
  if File.exists? path
23
23
  puts "** Deleting rule file at #{path}"
@@ -1,3 +1,3 @@
1
1
  module KnifeFoodcritic
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -0,0 +1,34 @@
1
+ require_relative '../../spec_helper'
2
+
3
+ require 'fakefs/spec_helpers'
4
+ require 'chef/knife/create_foodcritic_rule'
5
+
6
+ describe Knife::FoodcriticRuleCreate do
7
+ include FakeFS::SpecHelpers
8
+
9
+ before(:each) do
10
+ @knife = Knife::FoodcriticRuleCreate.new
11
+ @knife.config = {}
12
+ @knife.name_args = ['TEST001']
13
+ @stdout = StringIO.new
14
+ @knife.stub(:stdout).and_return(@stdout)
15
+ @foodcritic_path = File.expand_path("./foodcritic")
16
+ end
17
+
18
+ describe 'run' do
19
+
20
+ it 'should show usage if there is no rule ID' do
21
+ @knife.config = {}
22
+ @knife.name_args = []
23
+ @knife.ui.should_receive(:fatal).with('You must specify a rule ID (eg. CUSTOM001)')
24
+ -> { @knife.run }.should raise_error SystemExit
25
+ end
26
+
27
+ it 'should create a new cookbook' do
28
+ @knife.should_receive(:create_cookbook).with(@foodcritic_path, 'TEST001')
29
+ @knife.run
30
+ end
31
+
32
+ end
33
+
34
+ end
File without changes
@@ -0,0 +1,5 @@
1
+ $LOAD_PATH << File.expand_path('../../lib', __FILE__)
2
+
3
+ RSpec.configure do |c|
4
+ c.before { allow($stdout).to receive(:puts) }
5
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knife-foodcritic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -29,12 +29,44 @@ dependencies:
29
29
  version: '1.3'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '10'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '10'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '2.14'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '2.14'
62
+ - !ruby/object:Gem::Dependency
63
+ name: fakefs
32
64
  requirement: !ruby/object:Gem::Requirement
33
65
  none: false
34
66
  requirements:
35
67
  - - ! '>='
36
68
  - !ruby/object:Gem::Version
37
- version: '0'
69
+ version: 0.5.3
38
70
  type: :development
39
71
  prerelease: false
40
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +74,7 @@ dependencies:
42
74
  requirements:
43
75
  - - ! '>='
44
76
  - !ruby/object:Gem::Version
45
- version: '0'
77
+ version: 0.5.3
46
78
  - !ruby/object:Gem::Dependency
47
79
  name: chef
48
80
  requirement: !ruby/object:Gem::Requirement
@@ -86,6 +118,7 @@ extensions: []
86
118
  extra_rdoc_files: []
87
119
  files:
88
120
  - .gitignore
121
+ - .travis.yml
89
122
  - Gemfile
90
123
  - LICENSE.txt
91
124
  - README.md
@@ -94,6 +127,9 @@ files:
94
127
  - lib/chef/knife/create_foodcritic_rule.rb
95
128
  - lib/chef/knife/delete_foodcritic_rule.rb
96
129
  - lib/knife-foodcritic/version.rb
130
+ - spec/chef/knife/create_foodcritic_rule_spec.rb
131
+ - spec/chef/knife/delete_foodcritic_rule_spec.rb
132
+ - spec/spec_helper.rb
97
133
  homepage: http://www.devopsninjas.com
98
134
  licenses:
99
135
  - GPL
@@ -109,7 +145,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
145
  version: '0'
110
146
  segments:
111
147
  - 0
112
- hash: 3583670318698646123
148
+ hash: -873183254715860800
113
149
  required_rubygems_version: !ruby/object:Gem::Requirement
114
150
  none: false
115
151
  requirements:
@@ -118,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
154
  version: '0'
119
155
  segments:
120
156
  - 0
121
- hash: 3583670318698646123
157
+ hash: -873183254715860800
122
158
  requirements: []
123
159
  rubyforge_project:
124
160
  rubygems_version: 1.8.25
@@ -126,4 +162,7 @@ signing_key:
126
162
  specification_version: 3
127
163
  summary: A knife plugin for Chef that generates boiler plate code to help develop
128
164
  and test custom foodcritic rules
129
- test_files: []
165
+ test_files:
166
+ - spec/chef/knife/create_foodcritic_rule_spec.rb
167
+ - spec/chef/knife/delete_foodcritic_rule_spec.rb
168
+ - spec/spec_helper.rb