class Muchkeys::KeyValidator

Attributes

app_client[RW]

Public Class Methods

new(app_client) click to toggle source
# File lib/muchkeys/key_validator.rb, line 6
def initialize(app_client)
  @app_client = app_client
end

Public Instance Methods

is_secret?(keyname) click to toggle source
# File lib/muchkeys/key_validator.rb, line 37
def is_secret?(keyname)
  keyname.match(/^secret/) != nil
end
secret_key_has_namespace?(keyname) click to toggle source
# File lib/muchkeys/key_validator.rb, line 27
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) click to toggle source
# File lib/muchkeys/key_validator.rb, line 18
def secret_key_namespace(keyname)
  match = keyname.match(/^secrets\/(.*?)\/.*/)
  if match
    match[1]
  else
    ""
  end
end
valid?(keyname) click to toggle source

key should pass validation rules

# File lib/muchkeys/key_validator.rb, line 12
def valid?(keyname)
  exists?(keyname) &&
    secret_key_has_namespace?(keyname)
end
Also aliased as: valid_key_name?
valid_key_name?(keyname)
Alias for: valid?

Private Instance Methods

exists?(keyname) click to toggle source
# File lib/muchkeys/key_validator.rb, line 43
def exists?(keyname)
  !keyname.nil? && !keyname.empty?
end