class Perkins::Build::Data::Env
Attributes
data[R]
Public Class Methods
new(data)
click to toggle source
# File lib/perkins/build/data/env.rb, line 22 def initialize(data) @data = data end
Public Instance Methods
vars()
click to toggle source
# File lib/perkins/build/data/env.rb, line 26 def vars travis_vars + settings_vars + config_vars end
vars_groups()
click to toggle source
# File lib/perkins/build/data/env.rb, line 30 def vars_groups [Group.new('travis', travis_vars), Group.new('repository settings', settings_vars), Group.new('.travis.yml', config_vars)] end
Private Instance Methods
config_vars()
click to toggle source
# File lib/perkins/build/data/env.rb, line 66 def config_vars extract_config_vars(config[:global_env]) + extract_config_vars(config[:env]) end
extract_config_vars(vars)
click to toggle source
# File lib/perkins/build/data/env.rb, line 60 def extract_config_vars(vars) vars = to_vars(Array(vars).compact.reject(&:empty?)) vars.reject!(&:secure?) unless secure_env_enabled? vars end
secure_env_vars?()
click to toggle source
# File lib/perkins/build/data/env.rb, line 78 def secure_env_vars? secure_env_enabled? && config_vars.any?(&:secure?) end
settings_vars()
click to toggle source
# File lib/perkins/build/data/env.rb, line 70 def settings_vars data.raw_env_vars.map { |var| Var.new(var[:name], var[:value], !var[:public]) } end
slug()
click to toggle source
# File lib/perkins/build/data/env.rb, line 56 def slug repository[:slug] || '' end
to_vars(args)
click to toggle source
# File lib/perkins/build/data/env.rb, line 74 def to_vars(args) args.to_a.map { |args| Var.create(*args) }.flatten end
travis_vars()
click to toggle source
# File lib/perkins/build/data/env.rb, line 38 def travis_vars to_vars( TRAVIS_PULL_REQUEST: pull_request || false, TRAVIS_SECURE_ENV_VARS: secure_env_vars?, TRAVIS_BUILD_ID: build[:id], TRAVIS_BUILD_NUMBER: build[:number], TRAVIS_BUILD_DIR: [ BUILD_DIR, slug.shellescape ].join('/'), TRAVIS_JOB_ID: job[:id], TRAVIS_JOB_NUMBER: job[:number], TRAVIS_BRANCH: job[:branch].shellescape, TRAVIS_COMMIT: job[:commit], TRAVIS_COMMIT_RANGE: job[:commit_range], TRAVIS_REPO_SLUG: slug.shellescape, TRAVIS_OS_NAME: config[:os], TRAVIS_TAG: job[:tag] ) end