Module: OneSecret::KeyResolution

Defined in:
lib/one_secret/key_resolution.rb

Defined Under Namespace

Classes: Env, Rails, Stdin

Class Method Summary collapse

Class Method Details

.try(*strategies) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/one_secret/key_resolution.rb', line 5

def self.try(*strategies)
  strategies.each do |strategy|
    klass_name = "OneSecret::KeyResolution::#{strategy.to_s.capitalize}"
    klass = klass_name.constantize
    instance = klass.new
    key = instance.key
    return key if key
  end

  raise OneSecret.message("Cannot resolve key.")
end