Sha256: ee8e1da6ab4f97e4042847317663dc2ad872fc7bed45b3127dd4279b551a2550
Contents?: true
Size: 944 Bytes
Versions: 2
Compression:
Stored size: 944 Bytes
Contents
module Muchkeys class KeyValidator attr_accessor :app_client delegate :config, to: :app_client def initialize(app_client) @app_client = app_client end # key should pass validation rules def valid?(keyname) exists?(keyname) && secret_key_has_namespace?(keyname) end alias_method :valid_key_name?, :valid? def secret_key_namespace(keyname) match = keyname.match(/^secrets\/(.*?)\/.*/) if match match[1] else "" end end 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 def is_secret?(keyname) keyname.match(/^secret/) != nil end private def exists?(keyname) !keyname.nil? && !keyname.empty? end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
muchkeys-0.7.1 | lib/muchkeys/key_validator.rb |
muchkeys-0.7.0 | lib/muchkeys/key_validator.rb |