module OneSecret

Constants

VERSION

Public Class Methods

build(value) click to toggle source
# File lib/one_secret.rb, line 19
def self.build(value)
  Secret.unlocked {
    return Secret.new(value)
  }
end
configuration() click to toggle source
# File lib/one_secret.rb, line 15
def self.configuration
  @configuration ||= Configuration.new
end
configure(&block) click to toggle source
# File lib/one_secret.rb, line 11
def self.configure(&block)
  configuration.instance_eval(&block)
end
get(environment, key) click to toggle source
# File lib/one_secret.rb, line 33
def self.get(environment, key)
  secrets = SecretsYAML.new(Rails.application.paths["config/secrets"].first)
  secret = secrets.values[environment][key]

  Secret.unlocked {
    return Secret.load(secret)
  }
end
get_all(environment) click to toggle source
# File lib/one_secret.rb, line 42
def self.get_all(environment)
  secrets = SecretsYAML.new(Rails.application.paths["config/secrets"].first)
  Secret.unlocked {
    return Hash[secrets.values[environment].map { |k, v| [k, Secret.load(v)] }]
  }
end
message(text) click to toggle source
# File lib/one_secret.rb, line 49
def self.message(text)
  "\e[33m<OneSecret>\e[0m #{text}"
end
set(environment, key, value) click to toggle source
# File lib/one_secret.rb, line 25
def self.set(environment, key, value)
  secrets = SecretsYAML.new(Rails.application.paths["config/secrets"].first)
  build(value).tap do |secret|
    secrets.set(environment, key, secret.to_hash)
    secrets.save
  end
end