Class: MuchKeys::KeyValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/muchkeys/key_validator.rb

Class Method Summary collapse

Class Method Details

.is_secret?(keyname) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/muchkeys/key_validator.rb', line 31

def is_secret? keyname
  keyname.match(/^secret/) != nil
end

.secret_key_has_namespace?(keyname) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
27
28
29
# File 'lib/muchkeys/key_validator.rb', line 21

def secret_key_has_namespace? keyname
  if is_secret?(keyname)
    namespace = secret_key_namespace(keyname)
    exists?(namespace)
  else
    # a plain key passes, it doesn't need a namespace
    true
  end
end

.secret_key_namespace(keyname) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/muchkeys/key_validator.rb', line 12

def secret_key_namespace keyname
  match = keyname.match(/^secrets\/(.*?)\/.*/)
  if match
    match[1]
  else
    ""
  end
end

.valid?(keyname) ⇒ Boolean

key should pass validation rules

Returns:

  • (Boolean)


7
8
9
10
# File 'lib/muchkeys/key_validator.rb', line 7

def valid? keyname
  exists?(keyname) &&
  secret_key_has_namespace?(keyname)
end