class Secros

Public Class Methods

new(path) click to toggle source
# File lib/secros.rb, line 6
def initialize(path)
  @root_path = path
end

Public Instance Methods

files() click to toggle source
# File lib/secros.rb, line 14
def files
  @files ||= deep_apply_block(secrets[:files]) do |file|
    File.join(secret_files_path, file)
  end
end
values() click to toggle source
# File lib/secros.rb, line 10
def values
  @values ||= secrets[:values]
end

Private Instance Methods

deep_apply_block(obj, &block) click to toggle source
# File lib/secros.rb, line 26
def deep_apply_block(obj, &block)
  if obj.is_a?(Array)
    obj.map { |x| block.call(x) }
  elsif obj.is_a?(Hash)
    Hash[obj.map { |k, v| [k, block.call(v)] }]
  else
    block.call(obj)
  end
end
secrets() click to toggle source
# File lib/secros.rb, line 22
def secrets
  @secrets ||= YAML.load(File.read(secrets_path)).deep_symbolize_keys
end