class EasySettings::CertificateManagerSource
Public Class Methods
new(base_path, settings_root: ["certificates"], separator: "__", converter: :downcase)
click to toggle source
Calls superclass method
EasySettings::PathSource::new
# File lib/easy-settings/certificate_manager_source.rb, line 4 def initialize(base_path, settings_root: ["certificates"], separator: "__", converter: :downcase) super(base_path, settings_root: settings_root, separator: separator, converter: converter, parse_values: false) end
Public Instance Methods
filenames()
click to toggle source
# File lib/easy-settings/certificate_manager_source.rb, line 30 def filenames {"ca.crt" => "ca", "tls.crt" => "crt", "tls.key" => "key"} end
load()
click to toggle source
# File lib/easy-settings/certificate_manager_source.rb, line 8 def load {}.tap do |data| Dir["#{base_path}/*"].each do |path| next unless File.directory?(path) next unless valid_folder?(path) variable = path.gsub("#{base_path}/", "") keys = settings_root + variable.to_s.split(separator) filenames.each do |filename, key| value = File.binread("#{path}/#{filename}").strip assign_value(data, keys + [key], value) end end end end
valid_folder?(path)
click to toggle source
# File lib/easy-settings/certificate_manager_source.rb, line 25 def valid_folder?(path) # ensure the folder contains all the files we expect (filenames.keys - Dir["#{path}/*"].map{ |path| File.basename(path) }).none? end