lib/voltos.rb in voltos-0.0.93 vs lib/voltos.rb in voltos-0.1.0
- old
+ new
@@ -10,46 +10,55 @@
def self.configure
self.configuration ||= Configuration.new
yield(configuration)
end
-
+
def self.load
- json_str = Curl.get("https://voltos.online/v1/credentials") do |http|
+ json_str = Curl.get("#{Voltos.configuration.api_url}/credentials") do |http|
http.headers["Authorization"] = "Token token=#{Voltos.configuration.api_key}"
end
- Voltos.configuration.json_creds = JSON.parse(json_str.body_str)
- Voltos.configuration.status = Voltos.configuration.json_creds["status"]
- Voltos.configuration.message = Voltos.configuration.json_creds["message"]
+ data = JSON.parse(json_str.body_str)
+ if data.has_key?("status")
+ Voltos.configuration.json_creds = data
+ Voltos.configuration.status = Voltos.configuration.json_creds["status"]
+ Voltos.configuration.message = Voltos.configuration.json_creds["message"]
+ else
+ data.each do |key, val|
+ ENV[key] ||= val
+ end
+ end
end
-
+
def self.bundles
Voltos.configuration.json_creds["data"]["bundles"].keys
end
-
+
def self.key(bundle_name, env_key)
if not bundle_name.empty?
Voltos.configuration.json_creds["data"]["bundles"][bundle_name][env_key]
else
Voltos.configuration.json_creds["data"]["unbundled"][env_key]
end
end
-
+
def self.status
return Voltos.configuration.status
end
-
+
def self.message
return Voltos.configuration.message
end
-
+
class Configuration
attr_accessor :api_key
+ attr_accessor :api_url
attr_accessor :json_creds
attr_accessor :status
attr_accessor :message
def initialize
+ @api_url = ENV["VOLTOS_API_URL"] || "https://voltos.online/v1"
@api_key = ""
end
end
end