class SettingsReader::VaultResolver::Entry
Wrapper around vault secret object
Constants
- MONTH
Attributes
address[R]
data[R]
secret[R]
Public Class Methods
new(address, secret)
click to toggle source
# File lib/settings_reader/vault_resolver/entry.rb, line 9 def initialize(address, secret) @address = address @secret = secret @data = extract_data(secret) @lease_started = Time.now end
Public Instance Methods
expired?()
click to toggle source
# File lib/settings_reader/vault_resolver/entry.rb, line 20 def expired? return false unless leased? Time.now > @lease_started + lease_duration end
expires_in()
click to toggle source
# File lib/settings_reader/vault_resolver/entry.rb, line 26 def expires_in return MONTH unless leased? @lease_started + lease_duration - Time.now end
lease_duration()
click to toggle source
# File lib/settings_reader/vault_resolver/entry.rb, line 53 def lease_duration @secret.lease_duration.to_i end
lease_id()
click to toggle source
# File lib/settings_reader/vault_resolver/entry.rb, line 32 def lease_id @secret.lease_id end
leased?()
click to toggle source
# File lib/settings_reader/vault_resolver/entry.rb, line 16 def leased? @secret.renewable? end
to_s()
click to toggle source
# File lib/settings_reader/vault_resolver/entry.rb, line 49 def to_s address.to_s end
update_renewed(new_secret)
click to toggle source
# File lib/settings_reader/vault_resolver/entry.rb, line 36 def update_renewed(new_secret) @secret = new_secret @data = @data.merge(extract_data(new_secret).compact) @lease_started = Time.now end
value_for(attribute)
click to toggle source
# File lib/settings_reader/vault_resolver/entry.rb, line 42 def value_for(attribute) return data[attribute.to_sym] if data.key?(attribute.to_sym) return secret.public_send(attribute) if secret.respond_to?(attribute) nil end
Private Instance Methods
extract_data(secret)
click to toggle source
# File lib/settings_reader/vault_resolver/entry.rb, line 59 def extract_data(secret) secret.respond_to?(:data) && secret.data ? secret.data : {} end