doppler 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +26 -2
- data/lib/doppler.rb +34 -0
- data/lib/doppler/client.rb +4 -13
- data/lib/doppler/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d303fcb3660df971db06bd9c2206d06c8a2e0e5
|
4
|
+
data.tar.gz: 876807ca51165604c8f5b2126febfd486616643c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 660925bf24c7e24c4cebf2d5d530ab4c8b42dee09bc62186e8868eb007801e72307ae17e11f7d2af34471f3435041d0dec750a607e6c7cf0a8556f4fd8a15b55
|
7
|
+
data.tar.gz: baf51f7cbb44c352a353797da9e4c2b23be4b13777fbb7300f371b079ceae220241c97b8cc47d4800b5733d091a24bc5d81e6a155f8040087e48b7c653f36f4d
|
data/README.md
CHANGED
@@ -20,7 +20,7 @@ The package needs to be configured with your account's api key which is availabl
|
|
20
20
|
|
21
21
|
|
22
22
|
### Environment Variables Required
|
23
|
-
Please add these environment variables to your `.env` file or infra provider.
|
23
|
+
Please add these environment variables to your `.env` file in the root directory or on your infra provider.
|
24
24
|
|
25
25
|
```
|
26
26
|
DOPPLER_API_KEY = <API Key>
|
@@ -28,7 +28,15 @@ DOPPLER_PIPELINE = <Pipeline ID>
|
|
28
28
|
DOPPLER_ENVIRONMENT = <Environment Name>
|
29
29
|
```
|
30
30
|
|
31
|
-
###
|
31
|
+
### Lookup Priority
|
32
|
+
Doppler will look for these variables in 3 places with the following priority:
|
33
|
+
|
34
|
+
1. Passed in as initialization arguments
|
35
|
+
2. Read from environment variables
|
36
|
+
3. Read from `.env` file
|
37
|
+
|
38
|
+
|
39
|
+
### Install with Environment Variables
|
32
40
|
This installation method will expect the `DOPPLER_API_KEY`, `DOPPLER_PIPELINE`, `DOPPLER_ENVIRONMENT` as environment variables.
|
33
41
|
|
34
42
|
``` ruby
|
@@ -38,6 +46,22 @@ Doppler::Client.new()
|
|
38
46
|
# Rest of Application
|
39
47
|
```
|
40
48
|
|
49
|
+
### Install with ENV File
|
50
|
+
This installation method will expect the `DOPPLER_API_KEY`, `DOPPLER_PIPELINE`, `DOPPLER_ENVIRONMENT` in a `.env` file.
|
51
|
+
|
52
|
+
``` ruby
|
53
|
+
require "doppler"
|
54
|
+
|
55
|
+
Doppler.configure do |config|
|
56
|
+
config.env_filepath = ".env" # Defaults to ".env"
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
Doppler::Client.new()
|
61
|
+
|
62
|
+
# Rest of Application
|
63
|
+
```
|
64
|
+
|
41
65
|
### Install with Arguments
|
42
66
|
This installation method will expect the `api_key`, `pipeline`, `environment` as arguments.
|
43
67
|
|
data/lib/doppler.rb
CHANGED
@@ -54,10 +54,44 @@ module Doppler
|
|
54
54
|
def self.backup_filepath
|
55
55
|
@@backup_filepath
|
56
56
|
end
|
57
|
+
|
58
|
+
# configure env file
|
59
|
+
@@env_filepath = ".env"
|
60
|
+
def self.env_filepath=(env_filepath)
|
61
|
+
@@env_filepath = env_filepath
|
62
|
+
end
|
63
|
+
def self.env_filepath
|
64
|
+
@@env_filepath
|
65
|
+
end
|
66
|
+
|
67
|
+
# read env file
|
68
|
+
def self.read_env(path)
|
69
|
+
if path.nil? or !File.file?(path)
|
70
|
+
return nil
|
71
|
+
end
|
72
|
+
|
73
|
+
keys = {}
|
74
|
+
File.open(path, "r") do |file|
|
75
|
+
file.each do |line|
|
76
|
+
parts = line.strip.split("=")
|
77
|
+
|
78
|
+
if parts.length == 2
|
79
|
+
keys[parts[0].strip] = parts[1].strip
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
return keys
|
85
|
+
end
|
57
86
|
|
58
87
|
# helper to configure above variables.
|
59
88
|
def self.configure
|
60
89
|
yield(self)
|
90
|
+
|
91
|
+
env_file = self.read_env(self.env_filepath) || {}
|
92
|
+
self.api_key = self.api_key || env_file["DOPPLER_API_KEY"]
|
93
|
+
self.pipeline = self.pipeline || env_file["DOPPLER_PIPELINE"]
|
94
|
+
self.environment = self.environment || env_file["DOPPLER_ENVIRONMENT"]
|
61
95
|
end
|
62
96
|
|
63
97
|
end
|
data/lib/doppler/client.rb
CHANGED
@@ -87,23 +87,14 @@ module Doppler
|
|
87
87
|
retry_count += 1
|
88
88
|
|
89
89
|
if retry_count > MAX_RETRIES
|
90
|
-
|
91
|
-
raise e
|
92
|
-
end
|
90
|
+
backup_env = Doppler.read_env(Doppler.backup_filepath)
|
93
91
|
|
94
|
-
|
95
|
-
|
96
|
-
file.each do |line|
|
97
|
-
parts = line.strip!.split("=")
|
98
|
-
|
99
|
-
if parts.length == 2
|
100
|
-
keys[parts[0]] = parts[1]
|
101
|
-
end
|
102
|
-
end
|
92
|
+
if backup_env.nil?
|
93
|
+
raise e
|
103
94
|
end
|
104
95
|
|
105
96
|
data = {}
|
106
|
-
data["variables"] =
|
97
|
+
data["variables"] = backup_env
|
107
98
|
return data
|
108
99
|
|
109
100
|
else
|
data/lib/doppler/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doppler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Doppler Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-04-
|
11
|
+
date: 2019-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|