class DotenvToCI::CircleCI
Attributes
dotenvs[RW]
project[RW]
provider[RW]
token[RW]
username[RW]
vcs[RW]
verbose[RW]
Public Class Methods
new(options)
click to toggle source
# File lib/dotenv_to_ci/circleci.rb, line 16 def initialize(options) @dotenvs = options[:dotenvs] @provider = options[:provider] @token = options[:token] @vcs = options[:vcs] @username = options[:username] @project = options[:project] @verbose = options[:verbose] load_from_env end
Public Instance Methods
load_from_env()
click to toggle source
# File lib/dotenv_to_ci/circleci.rb, line 28 def load_from_env if @provider == "circleci" @token ||= ENV["CIRCLECI_TOKEN"] end end
parse_envs(dotenv_paths)
click to toggle source
# File lib/dotenv_to_ci/circleci.rb, line 44 def parse_envs(dotenv_paths) return Dotenv.parse(dotenv_paths) end
run!()
click to toggle source
# File lib/dotenv_to_ci/circleci.rb, line 34 def run! verify_options! envs = parse_envs(@dotenvs) send_to_circleci(envs) end
send_to_circleci(envs)
click to toggle source
# File lib/dotenv_to_ci/circleci.rb, line 48 def send_to_circleci(envs) envs.each do |k,v| payload = { name: k, value: v } if $verbose puts "Setting key=#{k} value=#{v}" end resp = RestClient::Request.execute( method: :post, url: "https://circleci.com/api/v1.1/project/#{vcs}/#{username}/#{project}/envvar?circle-token=#{@token}", payload: payload.to_json, headers: { 'Content-Type' => 'application/json' } ) end puts "Successfully added: #{envs.keys.join(', ')}" end
verify_options!()
click to toggle source
# File lib/dotenv_to_ci/circleci.rb, line 40 def verify_options! end