Sha256: 113ac6051227e49a579accc648783788d562eed22ba015748d7f2b5206a4e1d2
Contents?: true
Size: 1.23 KB
Versions: 1
Compression:
Stored size: 1.23 KB
Contents
require 'hashie/mash' require 'json' module Buildbox class Configuration < Hashie::Mash def agent_access_tokens env_agents = ENV['BUILDBOX_AGENTS'] if env_agents.nil? self[:agent_access_tokens] || [] else env_agents.to_s.split(",") end end def api_key ENV['BUILDBOX_API_KEY'] || self[:api_key] end def api_endpoint endpoint = ENV['BUILDBOX_API_ENDPOINT'] || self[:api_endpoint] || "https://agent.buildbox.io/v1" # hack to update legacy endpoints if endpoint == "https://api.buildbox.io/v1" self.api_endpoint = "https://agent.buildbox.io/v1" save api_endpoint else endpoint end end def update(attributes) attributes.each_pair { |key, value| self[key] = value } save end def save File.open(path, 'w+') { |file| file.write(pretty_json) } end def reload if path.exist? read_and_load else save && read_and_load end end private def pretty_json JSON.pretty_generate(self) end def read_and_load merge! JSON.parse(path.read) end def path Buildbox.root_path.join("configuration.json") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
buildbox-0.4.1 | lib/buildbox/configuration.rb |