foodcritic 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -76,6 +76,14 @@ module FoodCritic
76
76
  "foodcritic #{FoodCritic::VERSION}"
77
77
  end
78
78
 
79
+ # If the cookbook path provided is valid
80
+ #
81
+ # @deprecated Multiple cookbook paths may be provided.
82
+ # @return [Boolean] True if the path exists.
83
+ def valid_path?
84
+ @args.length == 1 and File.exists?(@args[0])
85
+ end
86
+
79
87
  # If the cookbook paths provided are valid
80
88
  #
81
89
  # @return [Boolean] True if the paths exist.
@@ -83,6 +91,14 @@ module FoodCritic
83
91
  @args.any? && @args.all? {|path| File.exists?(path) }
84
92
  end
85
93
 
94
+ # The cookbook path.
95
+ #
96
+ # @deprecated Multiple cookbook paths may be provided.
97
+ # @return [String] Path to the cookbook(s) being checked.
98
+ def cookbook_path
99
+ @args[0]
100
+ end
101
+
86
102
  # The cookbook paths
87
103
  #
88
104
  # @return [Array<String>] Path(s) to the cookbook(s) being checked.
@@ -24,16 +24,22 @@ module FoodCritic
24
24
 
25
25
  # Create a new review
26
26
  #
27
- # @param [String] cookbook_paths The path this review was performed against
27
+ # @param [Array] cookbook_paths The path this review was performed against
28
28
  # @param [Array] warnings The warnings raised in this review
29
29
  # @param [Boolean] is_failed Have warnings been raised that mean this
30
30
  # should be considered failed?
31
31
  def initialize(cookbook_paths, warnings, is_failed)
32
- @cookbook_paths = cookbook_paths
32
+ @cookbook_paths = Array(cookbook_paths)
33
33
  @warnings = warnings
34
34
  @is_failed = is_failed
35
35
  end
36
36
 
37
+ # Provided for backwards compatibility
38
+ # @deprecated Multiple cookbook paths may be provided.
39
+ def cookbook_path
40
+ @cookbook_paths.first
41
+ end
42
+
37
43
  # If this review has failed or not.
38
44
  #
39
45
  # @return [Boolean] True if this review has failed.
@@ -42,15 +42,24 @@ module FoodCritic
42
42
  # Review the cookbooks at the provided path, identifying potential
43
43
  # improvements.
44
44
  #
45
- # @param [String] cookbook_paths The file path(s) to an individual
45
+ # @param [Array] cookbook_paths The file path(s) to the individual
46
46
  # cookbook(s) being checked
47
47
  # @param [Hash] options Options to apply to the linting
48
+ # @option options [Array] include_rules Paths to local rules to apply
48
49
  # @option options [Array] tags The tags to filter rules based on
49
50
  # @option options [Array] fail_tags The tags to fail the build on
50
51
  # @return [FoodCritic::Review] A review of your cookbooks, with any
51
52
  # warnings issued.
52
53
  def check(cookbook_paths, options)
53
54
  raise ArgumentError, "Cookbook paths are required" if cookbook_paths.nil?
55
+ cookbook_paths = Array(cookbook_paths)
56
+ if cookbook_paths.empty?
57
+ raise ArgumentError, "Cookbook paths cannot be empty"
58
+ end
59
+
60
+ options = {:tags => [], :fail_tags => [],
61
+ :include_rules => []}.merge(options)
62
+
54
63
  @last_cookbook_paths, @last_options = cookbook_paths, options
55
64
  load_rules unless defined? @rules
56
65
  warnings = []; last_dir = nil; matched_rule_tags = Set.new
@@ -1,4 +1,4 @@
1
1
  module FoodCritic
2
2
  # The current version of foodcritic
3
- VERSION = '1.3.0'
3
+ VERSION = '1.3.1'
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foodcritic
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
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: 2012-05-21 00:00:00.000000000 Z
12
+ date: 2012-06-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gherkin
@@ -48,29 +48,17 @@ dependencies:
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - ~>
51
+ - - '='
52
52
  - !ruby/object:Gem::Version
53
53
  version: 1.5.0
54
- - - ! '!='
55
- - !ruby/object:Gem::Version
56
- version: 1.5.1
57
- - - ! '!='
58
- - !ruby/object:Gem::Version
59
- version: 1.5.2
60
54
  type: :runtime
61
55
  prerelease: false
62
56
  version_requirements: !ruby/object:Gem::Requirement
63
57
  none: false
64
58
  requirements:
65
- - - ~>
59
+ - - '='
66
60
  - !ruby/object:Gem::Version
67
61
  version: 1.5.0
68
- - - ! '!='
69
- - !ruby/object:Gem::Version
70
- version: 1.5.1
71
- - - ! '!='
72
- - !ruby/object:Gem::Version
73
- version: 1.5.2
74
62
  - !ruby/object:Gem::Dependency
75
63
  name: pry
76
64
  requirement: !ruby/object:Gem::Requirement
@@ -193,12 +181,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
181
  version: '0'
194
182
  segments:
195
183
  - 0
196
- hash: -2700846089795891822
184
+ hash: 2247396416415780367
197
185
  requirements: []
198
186
  rubyforge_project:
199
187
  rubygems_version: 1.8.19
200
188
  signing_key:
201
189
  specification_version: 3
202
- summary: foodcritic-1.3.0
190
+ summary: foodcritic-1.3.1
203
191
  test_files: []
204
192
  has_rdoc: