sensu-settings 10.10.0 → 10.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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