class Perkins::Build::Data::Var

Constants

PATTERN

Attributes

value[R]

Public Class Methods

create(*args) click to toggle source
# File lib/perkins/build/data/var.rb, line 8
def create(*args)
  if args.size == 1
    parse(args.first).map { |key, value| Var.new(key, value) }
  else
    [Var.new(*args)]
  end
end
new(key, value, secure = nil) click to toggle source
# File lib/perkins/build/data/var.rb, line 24
def initialize(key, value, secure = nil)
  @key = key.to_s
  @value = value.to_s
  @secure = secure
end
parse(line) click to toggle source
# File lib/perkins/build/data/var.rb, line 16
def parse(line)
  secure = line =~ /^SECURE /
  line.scan(PATTERN).map { |match| [(secure ? "SECURE #{match[0]}" : match[0]), match[1]] }
end

Public Instance Methods

key() click to toggle source
# File lib/perkins/build/data/var.rb, line 30
def key
  strip_secure(@key)
end
secure?() click to toggle source
# File lib/perkins/build/data/var.rb, line 48
def secure?
  @secure.nil? ? @key =~ /^SECURE / : @secure
end
to_s() click to toggle source
# File lib/perkins/build/data/var.rb, line 34
def to_s
  if travis?
    false
  elsif secure?
    "export #{[key, '[secure]'].join('=')}"
  else
    "export #{[key, value].join('=')}"
  end
end
travis?() click to toggle source
# File lib/perkins/build/data/var.rb, line 44
def travis?
  @key =~ /^TRAVIS_/
end

Private Instance Methods

strip_secure(string) click to toggle source
# File lib/perkins/build/data/var.rb, line 54
def strip_secure(string)
  string.gsub('SECURE ', '')
end