Module: OneSecret

Defined in:
lib/one_secret.rb,
lib/one_secret/secret.rb,
lib/one_secret/railtie.rb,
lib/one_secret/version.rb,
lib/one_secret/secrets_yaml.rb,
lib/one_secret/key_resolution.rb

Defined Under Namespace

Modules: KeyResolution Classes: Railtie, Secret, SecretsYAML

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.build(value) ⇒ Object



9
10
11
# File 'lib/one_secret.rb', line 9

def self.build(value)
  Secret.new(value)
end

.get(environment, key) ⇒ Object



21
22
23
24
25
# File 'lib/one_secret.rb', line 21

def self.get(environment, key)
  secrets = SecretsYAML.new("config/secrets.yml")
  secret = secrets.values[Rails.env][key]
  Secret.load(secret)
end

.message(text) ⇒ Object



27
28
29
# File 'lib/one_secret.rb', line 27

def self.message(text)
  "\e[33m<OneSecret>\e[0m #{text}"
end

.set(environment, key, value) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/one_secret.rb', line 13

def self.set(environment, key, value)
  secrets = SecretsYAML.new("config/secrets.yml")
  build(value).tap do |secret|
    secrets.set(Rails.env, key, secret.to_hash)
    secrets.save
  end
end