sensu-settings 10.10.0 → 10.11.0

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: c688fbfc882c64607771f71795541be631861b36
4
- data.tar.gz: 15afa27b366876286f908d834c1932ad98b4aa0b
3
+ metadata.gz: ac7f083e3a7151c2bec0a9814910fc40c6f489cc
4
+ data.tar.gz: 18bd44c1fa9158c079a218ad31881844955a8ef8
5
5
  SHA512:
6
- metadata.gz: 63b496deafec5a6d57e559270a9affd8d60f4c34dd75e8122e797a3f32b4e2a44f769d509685710f53abebd7660f95d327803bdee1c006d312909a46243d3127
7
- data.tar.gz: 92efda1105c102520f847708a10dcb37c244254a9774f85d5ccfb23f4669cc2c792fea521165c8a845c1684b82d6fa89ee3744973fd26f81e7184d0f9f2d9eaa
6
+ metadata.gz: b9753cf338608265e2075c4435f237cd8bf98985179a48cd38b0a52c4de26107b2efc0bb88fd0bb0dc2cb4bc3b7ddf60a39d09e6e7767a74528d2bb3d8bf63f4
7
+ data.tar.gz: 1d0c0b72917172cd9e04b78c923e9cbd43309701a84e0f726e5b91e0d04d3e92af186b8e216ce5323d54db844be7278c7064655cbc16ec2037c16f606d7e7136
@@ -47,7 +47,8 @@ module Sensu
47
47
  private
48
48
 
49
49
  # Validate setting categories: checks, filters, mutators, and
50
- # handlers.
50
+ # handlers. This method also validates each object type,
51
+ # ensuring that they are hashes.
51
52
  #
52
53
  # @param settings [Hash] sensu settings to validate.
53
54
  def validate_categories(settings)
@@ -55,7 +56,12 @@ module Sensu
55
56
  if is_a_hash?(settings[category])
56
57
  validate_method = ("validate_" + category.to_s.chop).to_sym
57
58
  settings[category].each do |name, details|
58
- send(validate_method, details.merge(:name => name.to_s))
59
+ if details.is_a?(Hash)
60
+ send(validate_method, details.merge(:name => name.to_s))
61
+ else
62
+ object_type = category[0..-2]
63
+ invalid(details, "#{object_type} must be a hash")
64
+ end
59
65
  end
60
66
  else
61
67
  invalid(settings[category], "#{category} must be a hash")
@@ -38,7 +38,7 @@ module Sensu
38
38
  # @param check [Hash] sensu check definition.
39
39
  def validate_check_source(check)
40
40
  if is_a_string?(check[:source])
41
- must_match_regex(/\A[\w\.-]+\z/, check[:source]) ||
41
+ must_match_regex(/\A([:]{3}[\w\|\.-]+[:]{3}|[\w\.-]+)\z/, check[:source]) ||
42
42
  invalid(check, "check source cannot contain spaces or special characters")
43
43
  else
44
44
  invalid(check, "check source must be a string")
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "sensu-settings"
5
- spec.version = "10.10.0"
5
+ spec.version = "10.11.0"
6
6
  spec.authors = ["Sean Porter"]
7
7
  spec.email = ["portertech@gmail.com"]
8
8
  spec.summary = "The Sensu settings library, loader and validator"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.10.0
4
+ version: 10.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Porter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-05 00:00:00.000000000 Z
11
+ date: 2017-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sensu-json